QUickbooks PHP SDK添加发票付款

时间:2016-04-01 12:54:19

标签: php api quickbooks

我正在尝试使用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中没有任何样本可以提供任何线索。

非常感谢任何帮助。感谢。

2 个答案:

答案 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