1

我们正在尝试使用 QBXML - WebConnector 添加带有“SetCredit”的发票。(QBXML 正确形成)

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="12.0"?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">
    <InvoiceAddRq requestID="26321">
      <InvoiceAdd>
        <CustomerRef>
          <ListID>4E0000-1201550597</ListID>
        </CustomerRef>
        <ClassRef>
          <ListID>10000-1200441777</ListID>
        </ClassRef>
        <ARAccountRef>
          <ListID>80000-1196902636</ListID>
        </ARAccountRef>
        <TemplateRef>
          <ListID>80000026-1360099831</ListID>
        </TemplateRef>
        <TxnDate>2013-05-29</TxnDate>
        <RefNumber>5957</RefNumber>
        <BillAddress>
          <Addr1>ABC Customer</Addr1>
          <Addr2>1110 South Ave</Addr2>
          <Addr3>
          </Addr3>
          <City>Rapids</City>
          <State>MN</State>
          <PostalCode>55555</PostalCode>
        </BillAddress>
        <DueDate>2013-05-29</DueDate>
        <IsToBePrinted>0</IsToBePrinted>
        <IsToBeEmailed>0</IsToBeEmailed>
        <SetCredit>
          <CreditTxnID>D4700-1369861742</CreditTxnID>
          <AppliedAmount>20.00</AppliedAmount>
        </SetCredit>
        <InvoiceLineAdd>
          <ItemRef>
            <ListID>F0000-1228155795</ListID>
          </ItemRef>
          <Quantity>1</Quantity>
          <Rate>250.00</Rate>
          <ClassRef>
            <ListID>10000-1200441777</ListID>
          </ClassRef>
          <Amount>250.00</Amount>
        </InvoiceLineAdd>
      </InvoiceAdd>
    </InvoiceAddRq>
  </QBXMLMsgsRq>
</QBXML>

注意:我们有“QuickBooks Enterprise Solutions 13.0”。没有其他人打开 QuickBooks 文件。我们还关闭了 quickbooks 企业 UI。

当 quickbooks 模式设置为“多用户”时,使用“SetCredit”添加发票会引发以下错误。

3176 - 相关 CreditTxnID 对象 D4700-1369861742 已在使用中,或未能获取此对象的锁定。QuickBooks 错误消息:无法锁定学分

但是,将 QuickBooks 模式更改为“单用户”模式时,“SetCredit”会很好地添加发票。

请提供对此错误的修复,因为我们需要在“多用户”模式下拥有快速手册。

谢谢,

阿伦

4

2 回答 2

0

尝试使用 QBXML 10 或 11 而不是 12。看起来这可能是使用 12 的错误。

于 2013-06-05T14:45:48.617 回答
0

我有同样的问题,在多用户模式下,发票添加的 SetCredit 部分失败并出现错误 3176。似乎可行的是在没有 SetCredit 的情况下创建发票,然后使用 0.00 TotalAmount 对该发票应用 ReceivePaymentAddRq,一个 0.00 PaymentAmount,然后指定 SetCredit 部分:

<?xml version="1.0" ?>
<?qbxml version="8.0"?>
  <QBXML>
    <QBXMLMsgsRq onError="stopOnError">
      <ReceivePaymentAddRq>
        <ReceivePaymentAdd>
          <CustomerRef>
            <ListID>800031DD-1539372418</ListID>
          </CustomerRef>
          <ARAccountRef>
            <ListID>510000-870536085</ListID>
          </ARAccountRef>
          <TxnDate>2018-10-12</TxnDate>
          <TotalAmount>0.00</TotalAmount>
          <AppliedToTxnAdd>
            <TxnID>3CBD5C-1539373452</TxnID>
            <PaymentAmount>0.00</PaymentAmount>
            <SetCredit>
              <CreditTxnID>3CBD6A-1539373513</CreditTxnID>
              <AppliedAmount>250.00</AppliedAmount>
            </SetCredit>
          </AppliedToTxnAdd>
        </ReceivePaymentAdd>
      </ReceivePaymentAddRq>
    </QBXMLMsgsRq>
  </QBXML>

于 2018-10-12T22:35:28.203 回答