我是一家销售基于 Web 的商业软件产品的公司的程序员,该产品让用户经营他们的业务。它有一个 A/R 模块。我们的用户使用我们的软件从他们的客户那里输入付款,并将付款应用到我们系统中的客户发票上。
我们的系统还需要将所有财务信息同步到我们用户的桌面 QuickBooks。我们使用 QB Web 连接器来执行此操作。当他们在我们的系统中输入付款时,我已经编写了向他们的 QB 发送 ReceivePaymentAdd 的代码,并且效果很好。唯一需要注意的是,当我们用户的客户向他们发送多付时。
例如,他们的客户向他们发送了一张 50.00 美元的支票,但该客户只有一张 45.00 美元的未结发票。
我现在处理的方式是将支票金额减少到 45.00 美元,并在我们的系统中创建一个 5.00 美元的贷项通知单。然后将 45.00 美元的付款导入他们的 QB(应用于 45.00 美元的发票),并导入 5.00 美元的贷项凭单(作为 QB 中的贷项凭单)。
我们已经意识到这种方法行不通,因为它会从他们的银行账户中扣除(他们手中有一张 50.00 美元的支票,而我们只向他们的 QB 添加了 45.00 美元的付款)。
我知道我可以发送一个 ReceivePaymentAdd 全额 50.00 美元,并且只有 45.00 美元适用于发票。如果我这样做,他们的客户将在 QB 中有 5.00 美元的贷方余额。如果我删除减少付款金额的代码并在我们的系统中创建贷项通知单,那么我们的系统还将为客户记录 5.00 美元的贷项。
我可以对我们的“接收付款”屏幕进行编程,以允许我们的用户在输入新付款时将此类客户信用应用于发票,但我如何告诉 QB 这样做?当我查看 ReceivePaymentAdd 请求时,我在IDN 统一 OSR中没有看到任何内容。
所以继续上面的例子,假设我们的用户通知他们的客户他们有 5.00 美元的信用额度,并且用户进行了 25.00 美元的购买并发送了 20.00 美元的支票。然后,我将收到一个 ReceivePaymentAdd 请求,其中包含 20.00 美元的支票付款金额,并将 25.00 美元应用于发票。这行得通吗?QB 不会抛出一个错误,即应用于发票的金额大于支付的金额吗?
我如何告诉 QB(通过 Web 连接器)用完客户信用?