我正在尝试使用Quickbooks PHP SDK将付款添加到发票中。
我可以创建客户,发票,物品,销售线等,但在创建和链接付款到发票的正确方法方面我有点困惑。
这就是我一直在尝试的:
$qbLinkedInvoice = new IPPLinkedTxn();
$qbLinkedInvoice->TxnId = 277; // the QB invoice ID
$qbLinkedInvoice->TxnType = 'Invoice';
$qbPayment = new IPPPayment();
$qbPayment->Amount = 10.0;
$qbPayment->CustomerRef = 164; // the QB cusotmer ID
$qbPayment->LinkedTxn = $qbLinkedInvoice;
$createdQbPayment = $this->dataService->Add($qbPayment);
但这只是给出了:
CheckNullResponseAndThrowException - Response Null or Empty
这意味着某些内容格式不正确。所有参考书都是正确的(存在于快速书,发票,客户等)。
我一直在通过创建IPPSalesItemLineDetail对象发送发票行项目,然后将其分配给该行,然后在quickbooks中创建发票时将其作为“行”数组属性分配给发票,但我可以好像想弄清楚如何发送付款并将其链接到发票。
SDK中没有任何样本可以提供任何线索。
非常感谢任何帮助。感谢。
答案 0 :(得分:3)
找到了怎么做。我错过了一个IPPLine对象,将Payment和LinkedTxn对象绑定在一起。这是有用的:
$qbLinkedInvoice = new IPPLinkedTxn();
$qbLinkedInvoice->TxnId = 277;
$qbLinkedInvoice->TxnType = 'Invoice';
$qbLine = new IPPLine();
$qbLine->Amount = 10.0;
$qbLine->LinkedTxn = $qbLinkedInvoice;
$qbPayment = new IPPPayment();
$qbPayment->CustomerRef = 164;
$qbPayment->TotalAmt = 10.0;
$qbPayment->Line = [$qbLine];
$createdQbPayment = $this->dataService->Add($qbPayment);
答案 1 :(得分:-1)
请参阅此处的示例,您使用的是PHP官方SDK,您只需传递数组即可创建发票和付款: https://github.com/intuit/QuickBooks-V3-PHP-SDK