QuickBooks fattura di modifica ha un comportamento indirizzo diverso da quello di creare, come compensare?

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

  •  22-08-2019
  •  | 
  •  

Domanda

Sto scrivendo una funzione per prendere un file della fattura in un formato definito e importarlo in QuickBooks via qbXML. Una delle requrements è che essere possibile reimportare lo stesso numero di fattura più che la fattura esistente essere modificato piuttosto che crearne uno nuovo con lo stesso numero.

Il problema che ho è con il modo in QuickBooks gestisce gli indirizzi. Gli indirizzi che sto ricevendo possono essere in qualsiasi formato (In 6 contenents diversi), senza alcuna garanzia di aderenza ad un formato corretto indirizzo per quella locale.

Quindi, la creazione della fattura è abbastanza semplice, ho specificato nel tag XML l'indirizzo di fatturazione addr1 attraverso addr5, e QuickBooks prende nessun problema. TUTTAVIA non memorizza l'indirizzo di testo grezzo, tenta di analizzare fuori la città, lo stato codice postale e paese.

Fattura modificare, a parità di informazioni sugli indirizzi, non analizzare fuori città-stato e di avviamento postale, ma piuttosto lasciare intatta la linea di indirizzo, e lasciare la città-stato e zip incontaminata, creando una linea duplicato sulla fattura, uno dei liberi forma di testo, l'altra del composito della città, stato e codice postale. La soluzione per questo è stato quello di impostare esplicitamente città stato paese zip e nota a vuoto sulla fattura modificare. Tuttavia, ciò non ha completamente risolto il problema.

A volte QuickBooks sarà analizzare correttamente l'indirizzo e aggiungere un numero a caso nella riga successiva (rappresentato internamente sulla scheda nota).

E a volte QuickBooks rifiuterà l'indirizzo, anche pensato che accettò il creare. Suppongo perché sta cercando di analizzare un indirizzo di 5 line e on modifica dal momento che la città-stato e il codice postale non hanno dove andare, non ha posto per la memorizzazione.

In questo momento la mia unica soluzione è quella di lasciare semplicemente l'indirizzo intatta, e dire all'utente che a causa di limitazioni QuickBooks non v'è alcun modo per modificare l'indirizzo sul reimportazione della fattura, solo linee di fattura.

Qualcuno ha eseguito in prima, e se sì, avete una di lavoro migliore in giro? Sapete di un indirizzo parser che può ragionevolmente approssimativo quello QuickBooks fa così posso inviarlo stato e codice postale sul creare in modo coerente?

Ora, in una certa misura (ad eccezione di quella ultima) QuickBooks è darmi una risposta che mi dice che cosa analizzato il creare, così ho potuto teoricamente memorizzare quello di conoscere quello che sto trattando, ma a corto di scrivere un po 'di tempo consumando routine indirizzo di analisi c'è qualche soluzione per ottenere QuickBooks di ri analizzare l'indirizzo da nuovo.

Ecco la richiesta e la risposta. Notare che la fattura creare era identico, e che rimosso alcune informazioni di identificazione, ma mantenuto il campo lunghezze uguali.

Richiesta:

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

Risposta:

    <?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> 
È stato utile?

Soluzione

Un altro potenziale soluzione è quello di doppio aggiornamento della fattura. In primo luogo vuoto l'indirizzo. In secondo luogo è inviare le cinque linee, senza alcuna menzione della città Stato Zip, ecc, come è stato fatto su creare.

non ho la prova questo (gli utenti accettano che l'indirizzo non cambierà, quindi non ho intenzione di provare), ma sto mettendo questo qui come idea, quindi se qualcuno ha un problema simile che può provare e forse commentare qui se funziona.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top