通过 Web 连接器在 Quickbooks 中接收付款

Recieving Overpayments in Quickbooks through the Web Connector

我是一家销售基于 Web 的商业软件产品的公司的程序员,该产品让用户 运行 可以开展业务。它有一个 A/R 模块。我们的用户使用我们的软件输入客户的付款,并将付款应用到我们系统中的客户发票。

我们的系统还需要将所有财务信息同步到我们用户的桌面 QuickBoooks。我们使用 QB Web 连接器来执行此操作。当他们在我们的系统中输入付款时,我编写了代码以将 ReceivePaymentAdd 发送到他们的 QB,并且运行良好。唯一的警告是当我们用户的客户向他们发送超额付款时。

例如,他们的客户寄给他们一张 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 Unified OSR 中看不到任何内容。

继续上面的示例,假设我们的用户通知他们的客户他们有 5.00 美元的信用额度,并且用户进行了 25.00 美元的购买并发送了 20.00 美元的支票。然后我将收到一个 ReceivePaymentAdd 请求,其中包含 20.00 美元的支票付款金额和 25.00 美元的发票。这行得通吗? QB 不会返回一个错误,即应用到发票的金额大于支付的金额吗?

如何告诉 QB(通过 Web 连接器)用完客户信用?

在这种情况下,QuickBooks API 的工作方式与 UI 完全相同。那么,您将如何在 UI 中执行此操作?

在 UI 中,您最初添加了 50 美元的已收付款,并且仅应用了其中的 45 美元。剩下 5 美元未使用。

然后,当他们下下一个订单时,您将添加 20 美元的已收付款,并将其应用于新发票。然后您将转到原始的、较早收到的付款并更新(修改)已收到的付款以将剩余的 5 美元应用到新发票。

您将通过 API 执行相同的操作。

对原始付款进行 ReceivePaymentMod,并将剩余未应用的付款金额应用到您的新发票。