Modifier la facture QuickBooks a un comportement différent d'adresse que de créer, comment compenser?

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

  •  22-08-2019
  •  | 
  •  

Question

J'ecris une fonction pour prendre un fichier de la facture dans un format défini et l'importer dans QuickBooks via qbXML. L'un des requrements est qu'il soit possible de réimporter le même numéro de facture que la facture existante soit modifiée plutôt que de créer une nouvelle avec le même nombre.

Le problème que j'ai est la façon dont les adresses gère QuickBooks. Les adresses que je reçois peuvent être dans tous les formats (en 6 contenents), sans aucune garantie d'adhésion à un format d'adresse correcte pour ce paramètre régional.

crée donc la facture est assez simple, je précise dans la balise xml l'adresse de facturation addr1 par addr5, et QuickBooks il ne prend aucun problème. CEPENDANT il ne stocke pas l'adresse sous forme de texte brut, il tente d'analyser la ville, état et code postal pays.

Facture modifier, étant donné les mêmes informations d'adresse, n'analysera pas à l'état de la ville et zip, mais plutôt laisser la ligne d'adresse intacte, et de laisser l'état de la ville et zip intacte, créant une ligne double sur la facture, l'un gratuit sous forme de texte, l'autre du composite de la ville, état et code postal. La solution de contournement pour qui devait explicity pays postal mis en état de ville et notez à blanc sur la facture modifier. Cependant, cela n'a pas complètement résolu le problème.

Parfois, QuickBooks analyser correctement l'adresse et ajoutez un numéro aléatoire sur la ligne suivante (en interne représentée sur l'onglet note).

Et parfois QuickBooks rejettera l'adresse, même pensé qu'il acceptait le créer. Je suppose parce qu'il tente d'analyser une adresse 5 ligne et modifier depuis l'état de la ville et le code postal ont nulle part où aller, il n'a pas sa place pour les stocker.

En ce moment, ma seule solution est de laisser simplement l'adresse intacte, et indiquer à l'utilisateur qu'en raison des limitations QuickBooks il n'y a aucun moyen de modifier l'adresse sur la réimportation de la facture, seules les lignes de facture.

Quelqu'un at-il rencontré ce avant, et si oui, avez-vous un meilleur travail autour? Connaissez-vous un analyseur d'adresse qui peut raisonnablement approximative ce que QuickBooks donc je ne peux l'envoyer état de la ville et le code postal de créer de manière cohérente?

Maintenant, dans une certaine mesure (sauf pour ce dernier) QuickBooks me donne une réponse qui me dit ce qu'il analysé à la création, donc je pourrais théoriquement stocker que de savoir ce que je traite, mais à court d'écrire un certain temps la consommation de routines d'analyse syntaxique d'adresse est-il une solution pour QuickBooks à nouveau analyser l'adresse de nouveau.

Voici la demande et la réponse. Notez que la facture était identique à créer, et que je retire certaines informations d'identification, mais a gardé le champ même des longueurs.

Demande:

<?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>

Réponse:

    <?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> 
Était-ce utile?

La solution

Une autre solution de contournement potentiel ici est double mise à jour de la facture. Tout d'abord vide l'adresse. Deuxièmement, envoyer les cinq lignes sans aucune mention de la ville de l'État postal, etc., comme cela a été fait sur créer.

Je n'ai pas testé ce (les utilisateurs ont accepté que l'adresse ne changera pas, donc je ne vais pas essayer), mais je suis en train de voir ici comme une idée si quelqu'un a un problème similaire, ils peut essayer et peut-être commenter ici si cela fonctionne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top