2017-01-31 11 views
0

QuickBook에 Invoke를 만들 때 Quickbooks PHP DevKit 라이브러리를 사용하고 있습니다. 프랑스 샌드 박스 회사를 사용하고 있는데 다음과 같은 오류 메시지가 나타납니다. 비즈니스 유효성 오류 :이 계정 번호는 QuickBooks 계정과 いる 차트에 이미 있습니다. 다른 번호를 입력하십시오.Quickbooks 오류 : 비즈니스 유효성 오류 :이 계정 번호는 QuickBooks 계정과 목표에 이미 있습니다.

인보이스 데이터에 누락 된 항목이 있지만 찾을 수 없습니다. 무슨

$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()); 
} 

누락 될 수있다 : 아래

내 코드 (I (는) 도심 DevKit에서 제공하는 예제를 사용)입니까?

I는 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> 

미리 도움 주셔서 감사합니다!

+0

XML 요청을 QuickBooks에 게시합니다. QuickBooks에서받은 XML 응답을 게시하십시오. –

+0

@KeithPalmerJr. 고맙습니다 ! 요청한 정보를 내 질문에 추가했습니다. –

+0

항목 ID = 1이 실제로 존재한다는 것이 긍정적입니까? 프랑스 로케일에는 여기에 몇 가지 특별한 요구 사항이 있으므로 항목이 존재하지 않는지 궁금합니다. –

답변

1

마지막으로, QuickBooks에서 샌드 박스 프랑스 회사의 버그가 있다는 대답을 얻었습니다. 프로덕션 모드에서 평가판 계정을 사용하면 문제가 없습니다.