QuickBooks factura de modificación tiene un comportamiento diferente dirección de crear, cómo compensar?

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

  •  22-08-2019
  •  | 
  •  

Pregunta

Estoy escribiendo una función para tomar un archivo de facturas en un formato definido y la importación en QuickBooks a través QBXML. Uno de los requrements es que sea posible volver a importar el mismo número de factura que la factura existente ser modificada en lugar de crear una nueva con el mismo número.

El problema que tengo es con la forma en QuickBooks maneja direcciones. Las direcciones que estoy recibiendo pueden estar en cualquier formato (En 6 contenents diferentes), sin ninguna garantía de adhesión a un formato de dirección correcta para ese idioma.

Así que la creación de la factura es bastante simple, que especifique en la etiqueta XML dir1 la dirección de facturación a través addr5, y QuickBooks se lo lleva ningún problema. Sin embargo que no almacena la dirección como texto sin formato, se intenta analizar la ciudad, código postal estado y el país.

Factura modificar, dada la misma información de la dirección, no va a analizar fuera de la ciudad-estado y código postal, sino más bien dejar la línea de dirección intacto, y dejar el estado de la ciudad y cremallera sin tocar, la creación de una línea duplicada en la factura, una de libre forma de texto, el otro de la combinación de ciudad, estado y código postal. La solución para que consistía en establecer explícitamente país postal ciudad estado y cuenta con espacio en blanco en la factura modificar. Sin embargo, eso no ha resuelto completamente el problema.

A veces QuickBooks será analizar correctamente la dirección y añada un número aleatorio en la línea siguiente (representado internamente en la pestaña de la nota).

Y a veces QuickBooks rechazará la dirección, incluso pensó que la aceptó el crear. Asumo porque está tratando de analizar una dirección de la línea 5 y en modificar ya que el estado de la ciudad y el código postal no tienen a dónde ir, no tiene lugar para almacenarlos.

En este momento mi única solución es dejar simplemente la dirección sin tocar, y decirle al usuario que debido a las limitaciones de QuickBooks no hay manera de modificar la dirección en la reimportación de la factura, sólo líneas de factura.

Alguien ha funcionado en esto antes, y si es así, ¿tiene una mejor solución? ¿Conoce un analizador de direcciones que puede razonablemente aproximada lo QuickBooks así que puede enviar el estado de la ciudad y el código postal en crear de una manera consistente?

Ahora, en algún grado (a excepción de la última) QuickBooks es darme una respuesta que me dice lo que se analiza en crear, por lo que podría almacenar teóricamente que saber lo que estoy tratando, pero corto de escribir algún tiempo consumir rutinas de análisis de direcciones ¿hay alguna solución para QuickBooks para volver a analizar la dirección de nuevo.

Aquí está la solicitud y la respuesta. Tenga en cuenta que la factura crear era idéntica, y que elimina algunos información de identificación, pero mantuvo el campo longitudes de la misma.

Solicitud:

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

Respuesta:

    <?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> 
¿Fue útil?

Solución

Otra posible solución en este caso es de doble actualización de la factura. Primer espacio a cabo la dirección. En segundo lugar es enviar las cinco líneas sin ninguna mención de la cremallera del estado de la ciudad, etc., como se hizo en crear.

no he probado esto (los usuarios aceptan que la dirección no va a cambiar, así que no voy a probarlo), pero yo estoy poniendo esto aquí como una idea así que si alguien tiene un problema similar que puede probarlo y quizás comentar aquí si funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top