QuickBooks invoice modify는 생성과 다른 주소 동작을 가지고 있으며 보상하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/877689

  •  22-08-2019
  •  | 
  •  

문제

송장 파일을 정의 된 형식으로 가져 와서 QBXML을 통해 QuickBooks로 가져 오는 기능을 작성하고 있습니다. 재구성 중 하나는 동일한 숫자를 가진 새 송장을 작성하는 대신 기존 송장을 수정하는 것과 동일한 송장 번호를 다시 홍보 할 수 있다는 것입니다.

내가 가진 문제는 QuickBooks가 주소를 처리하는 방법에 관한 것입니다. 내가받는 주소는 해당 로케일에 대한 적절한 주소 형식을 준수 할 수 없는지 (6 가지 다른 오염 물질로) 모든 형식으로 될 수 있습니다.

따라서 송장을 만드는 것은 간단합니다. XML 태그에 Addr5를 통해 청구 주소 addr1을 지정하고 QuickBooks는 아무런 문제가 없습니다. 하지만 주소를 원시 텍스트로 저장하지 않고 도시, 주 우편 번호 및 국가를 구문 분석하려고 시도합니다.

동일한 주소 정보가 주어지면 인보이스 수정은 도시 상태와 지퍼를 구문 분석하지 않고 주소 라인을 그대로 두지 않고시 상태와 지퍼를 손길이 닿아 송장에 중복선이 생성됩니다. 도시, 주 및 우편 번호의 다른 하나. 이에 대한 해결 방법은 설명을 세우는 것이었고 송장 수정에 대한 비워지는 것에 주목했습니다. 그러나 그것은 문제를 완전히 해결하지 못했습니다.

때때로 QuickBook은 주소를 올바르게 구문 분석하고 다음 줄에 임의 번호를 추가합니다 (내부적으로 노트 탭에 표시).

때로는 QuickBooks가 주소를 거부하고 심지어 Create에서 수락했다고 생각했습니다. 나는 그것이 5 줄 주소를 구문 분석하려고하기 때문에 도시 상태와 우편 번호가 어디로 갈지가 없기 때문에 수정 중이기 때문에 그것을 저장할 장소가 없다고 가정합니다.

지금 내 유일한 해결책은 단순히 주소를 그대로 두지 않고 QuickBooks 제한으로 인해 송장의 재순환시 주소를 수정할 수있는 방법이 없다고 사용자에게 알려주는 것입니다.

누구든지 이전 에이 문제를 해결 한 적이 있습니까? 그렇다면 더 나은 일을하고 있습니까? QuickBooks가 무엇을 상대적으로 근사화하여 일관된 방식으로 Crome에서 Crome State 및 우편 번호를 보낼 수있는 주소 파서를 알고 있습니까?

이제, 어느 정도 (마지막으로 그 마지막을 제외하고) QuickBooks는 나에게 Create에서 구문 분석 한 내용을 알려주는 응답을 제공하므로 이론적으로 내가 다루고있는 것을 알기 위해 저장할 수 있지만 시간이 많이 걸리는 주소 구문 분석은 부족합니다. 루틴은 QuickBooks가 New에서 주소를 다시 구분하도록하는 솔루션이 있습니다.

다음은 요청과 응답입니다. 송장 생성은 동일했으며 일부 식별 정보를 제거했지만 필드 길이를 동일하게 유지했습니다.

요구:

<?xml version="1.0" encoding="UTF-8"?>  <?qbxml version="7.0"?>
<QBXML>
<QBXMLMsgsRq newMessageSetID="243f42acf4011139b7a" onError="stopOnError">
    <InvoiceModRq>
        <InvoiceMod>
            <TxnID>4E64-1242411202</TxnID>
            <EditSequence>1242411202</EditSequence>
            <CustomerRef>
                <ListID>80000012-1242156814</ListID>
            </CustomerRef>
            <ARAccountRef>
                <FullName>Accounts Receivable</FullName>
            </ARAccountRef>
            <TxnDate>2009-04-01</TxnDate>
            <RefNumber>M-053491</RefNumber>
            <BillAddress>
                <Addr1>S &amp; S ACME CO., INC.</Addr1>
                <Addr2>MR. ABC ABCDEF</Addr2>
                <Addr3>981 ABCD 761 ST</Addr3>
                <Addr4>ABABC, AA 99999-3584</Addr4>
                <Addr5>USA</Addr5>
                <City/>
                <State/>
                <PostalCode/>
                <Country/>
                <Note/>
            </BillAddress>
            <TermsRef>
                <FullName>NET 30</FullName>
            </TermsRef>
            <DueDate>2009-05-01</DueDate>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>ABCDEFG ABC $3,000.00 *</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>FOR:</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <ItemRef>
                    <FullName>ANFEE</FullName>
                </ItemRef>
                <Desc>1 . #9999 S &amp; S ABCD CO., INC., ABCDE, AA *</Desc>
                <Amount>123456.72</Amount>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>PLEASE NOTE: Blahh Someone sellificant repeats on July 31st, 2009.</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>Sellifcan of your Someone Ssellificant to Jan. 31st, 2011 is contingent upon</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>your satisfying all open invoices and all other/different issues.</Desc>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc/>
            </InvoiceLineMod>
            <InvoiceLineMod>
                <TxnLineID>-1</TxnLineID>
                <Desc>* PLUS expenses for some amount of service described here.</Desc>
            </InvoiceLineMod>
        </InvoiceMod>
    </InvoiceModRq>
</QBXMLMsgsRq>
</QBXML>

응답:

    <?xml version="1.0" ?> <QBXML>
<QBXMLMsgsRs newMessageSetID="243f42acf4011139b7a">
<InvoiceModRs statusCode="3210" statusSeverity="Error"
              statusMessage="The &quot;address&quot; field has an invalid value &quot;&quot;.  QuickBooks error message: The parameter is incorrect. "/>
</QBXMLMsgsRs>
</QBXML> 
도움이 되었습니까?

해결책

여기서 또 다른 잠재적 인 해결 방법은 송장을 두 배로 늘리는 것입니다. 먼저 주소를 비워십시오. 두 번째는 Create에서 수행 된대로 City State Zip 등을 언급하지 않고 5 줄을 보내는 것입니다.

나는 이것을 테스트하지 않았다 (사용자는 주소가 변경되지 않을 것이라는 것을 인정 했으므로 시도하지 않을 것입니다). 그리고 그것이 작동한다면 여기에 댓글을 달 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top