Quickbooks Error: Business Validation Error: This account number already exists in the QuickBooks chart of accounts

Quickbooks Error: Business Validation Error: This account number already exists in the QuickBooks chart of accounts

我正在使用 Quickbooks PHP DevKit 库在 Quickbooks 中创建发票。 我正在使用一家法国沙盒公司,但收到以下错误消息: 业务验证错误:此帐号已存在于 QuickBooks 会计科目表中。输入另一个数字。

我认为我的发票数据中缺少某些内容,但我找不到!

下面是我的代码(我使用了 DevKit 中提供的示例作为基础):

$customerRef = '16'; 
$itemRef = '1';
$taxCodeRef = '31';

$InvoiceService = new QuickBooks_IPP_Service_Invoice();

$Invoice = new QuickBooks_IPP_Object_Invoice();

$Line = new QuickBooks_IPP_Object_Line();
$Line->setDetailType('SalesItemLineDetail');
$Line->setAmount(20.0000 * 1.0000 * 0.516129);
$Line->setDescription('Test description goes here.');

$SalesItemLineDetail = new QuickBooks_IPP_Object_SalesItemLineDetail();
$SalesItemLineDetail->setItemRef( $itemRef );
$SalesItemLineDetail->setUnitPrice(20 * 0.516129);
$SalesItemLineDetail->setQty(1.00000);
$SalesItemLineDetail->setTaxCodeRef( $taxCodeRef );

$Line->addSalesItemLineDetail($SalesItemLineDetail);

$Invoice->addLine($Line);

$Invoice->setCustomerRef( $customerRef );


if ($resp = $InvoiceService->add($Context, $realm, $Invoice))
{
    print('Our new Invoice ID is: [' . $resp . ']');
}
else
{
    print($InvoiceService->lastError());
}

这里可能遗漏了什么?

我添加发送到 Quickbooks 的请求和收到的响应:

要求:

<Invoice xmlns="http://schema.intuit.com/finance/v3">
    <Line xmlns="http://schema.intuit.com/finance/v3">
        <Amount>10.32258</Amount>
        <DetailType>SalesItemLineDetail</DetailType>
        <Description>Test description goes here.</Description>
        <SalesItemLineDetail xmlns="http://schema.intuit.com/finance/v3">
            <ItemRef>1</ItemRef>
            <UnitPrice>10.32258</UnitPrice>
            <Qty>1</Qty>
            <TaxCodeRef>31</TaxCodeRef>
        </SalesItemLineDetail>
    </Line>
    <CustomerRef>16</CustomerRef>
</Invoice>

回复:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2017-02-01T02:08:16.198-08:00">
    <Fault type="ValidationFault">
        <Error code="6000" element="">
            <Message>A business validation error has occurred while processing your request</Message>
            <Detail>Business Validation Error: Ce numéro de compte existe déjà dans le plan comptable de QuickBooks. Entrez un autre numéro.</Detail>
        </Error>
    </Fault>
</IntuitResponse>

项目 id=1 的响应

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2017-02-01T09:28:05.599-08:00">
    <QueryResponse startPosition="1" maxResults="1">
        <Item domain="QBO" sparse="false">
            <Id>1</Id>
            <SyncToken>1</SyncToken>
            <MetaData>
                <CreateTime>2017-01-10T23:31:30-08:00</CreateTime>
                <LastUpdatedTime>2017-01-18T07:00:19-08:00</LastUpdatedTime>
            </MetaData>
            <Name>Ventes bonbons</Name>
            <Description>Frandises 100g</Description>
            <Active>true</Active>
            <FullyQualifiedName>Ventes bonbons</FullyQualifiedName>
            <Taxable>false</Taxable>
            <SalesTaxIncluded>false</SalesTaxIncluded>
            <UnitPrice>10</UnitPrice>
            <Type>Service</Type>
            <IncomeAccountRef name="701100 Ventes de Produits finis (ou groupe) A 20%">71</IncomeAccountRef>
            <PurchaseTaxIncluded>false</PurchaseTaxIncluded>
            <PurchaseCost>5</PurchaseCost>
            <ExpenseAccountRef name="607100 Achats de Marchandises (ou groupe) A">29</ExpenseAccountRef>
            <TrackQtyOnHand>false</TrackQtyOnHand>
            <SalesTaxCodeRef name="SalesTaxCodeRef">31</SalesTaxCodeRef>
            <PurchaseTaxCodeRef name="PurchaseTaxCodeRef">31</PurchaseTaxCodeRef>
            <ItemCategoryType>Product</ItemCategoryType>
        </Item>
    </QueryResponse>
</IntuitResponse>

在此先感谢您的帮助!

最后从QuickBooks得到答复说sandbox法国公司有bug。在生产模式下使用试用帐户,我没有问题。