你问的不是一个真正的编程问题......它更像是一个会计问题。
QuickBooks API 完全反映了 QuickBooks GUI。因此,无论您在 GUI 中添加销售税做什么,都应该在 API 中执行。 你如何在 GUI 中做到这一点?
Soooo ...让我们谈谈 QuickBooks通常在 GUI 中征收销售税:
- 您使用 NON(非应税)或 TAX(应税)的销售税代码标记每个行项目
- 在发票底部,您选择特定的销售税项目(例如“加利福尼亚销售税”)
- QuickBooks 然后使用销售税项目*(可征税行项目的总和)中的税率为您计算税款
当您查看QuickBooks OSR API 文档时,您应该不会感到非常惊讶,您会看到如下行项目定义:
<InvoiceLineAdd>
...
<Amount>29.95</Amount>
<SalesTaxCodeRef>
<FullName>Tax</FullName> <!-- valid values here are one of your Sales Tax Codes, usually "NON" or "TAX" -->
</SalesTaxCodeRef>
</InvoiceLineAdd>
并且,在 InvoiceAdd 规范的底部,有一个用于指定销售税项目的选项,如下所示:
<ItemSalesTaxRef>
<FullName>California Sales Tax</FullName> <!-- valid values are any of your existing Sale Tax Items in QuickBooks -->
</ItemSalesTaxRef>
综上所述,我们必须特别注意您问题的这一部分:
我找不到任何方法将在我的应用程序中计算的销售税添加到 QB 发票中。
上面的答案让 QuickBooks 根据税率与您在应用程序中已经计算的值计算税额。太好了……规则仍然有效——QuickBooks API 反映了 GUI。那么,您现在如何在 GUI 中执行此操作?
正确答案是:问问你的会计师他想让你怎么做。
答案很可能是:
- 创建一个名为“参考发票”的税率为 0% 的新销售税项目
- 向使用 ItemRef/FullName 的发票添加一个新行项目以引用正确的销售税项目(例如“加利福尼亚州税”)
- 在该行项目上,指定在您的应用中计算的实际税额
如果这就是他想要的,那么您应该在 GUI 中完全做到这一点。像对待任何其他发票行项目一样对待它。