El campo Factura/Abono para las facturas XML

Tenga en cuenta que hay un tema independiente para el campo Factura/Abono en relación con facturas en papel o basadas en imágenes.

Las facturas XML pueden contener texto que indica si se trata de una factura o de un abono, como "Factura" o "Abono", con el que se asocia el campo, pero, por ejemplo, el valor 380 se usa con mayor frecuencia para indicar una factura y cualquier otro valor determina que se trata de un abono.

Aprendizaje del campo Factura/Abono de facturas XML en Optimize

Para especificar si una factura XML es una factura o un abono:

  1. Asocie el campo Crédito de factura con el atributo o elemento XML correcto mediante reglas estándar. Consulte la imagen.


  2. Traduzca el valor encontrado en otro que Kofax ReadSoft Invoices pueda entender; para ello, use una regla avanzada como esta. Consulte otros ejemplos a continuación.

Tenga en cuenta que diferentes estándares XML pueden requerir distintas normas para extraer el valor correcto. Desde el punto de vista de Kofax ReadSoft Invoices, es suficiente decir que, si el valor resultante es 1, la factura XML se interprete como una factura de crédito, pero si es otro valor, la factura se interpretará como una factura de abono. Use el ejemplo del paso dos anterior y los demás ejemplos siguientes como modelo para crear nuevos perfiles de factura XML o cuando resulte necesario ajustar los perfiles existentes.

Cuando los valores se han asignado y los valores se han encontrado e interpretado correctamente, el estado del campo se define automáticamente como Terminado cuando se procesan facturas XML.

Ejemplos adicionales para asignar el campo Factura/Abono en los diferentes estándares XML:

Estándar e2b

  1. En primer lugar, asigne el campo al elemento XML que se encuentra en /InvoiceType usando reglas estándar.
  2. A continuación, cree una regla avanzada con estas condiciones:
    No condition: Matches both true and false

    Value (Node[/InvoiceType]) =="380"

  3. Seleccione la segunda condición en el paso 2 y añada estas reglas:
  4. if((Value(Node[/InvoiceType]) =="380") == true
    {
    Field.FieldValue = "0";
    return;
    }
    if((Value(Node[/InvoiceType]) =="380") == false)
    {
    Field.FieldValue ="1";
    return;
    }

     

    Estándar Finvoice

    Para Finvoice, también necesita comprobar si el valor es superior a 0:

  5. En primer lugar, asigne el campo al elemento XML que se encuentra en /InvoiceDetails/InvoiceTypeCode usando reglas estándar.
  6. A continuación, cree una regla avanzada con estas condiciones:
    No condition: Matches both true and false
    
    Value(Node[/InvoiceDetails/InvoiceTypeCode]) =="INV01" AND 
    Value(Node[/InvoiceDetails/invoiceTotalVatIncludedAmount]) >"0" 
    				

  7. Seleccione la segunda condición en el paso 2 y añada estas reglas:
    if((Value(Node[/InvoiceDetails/InvoiceTypeCode]) =="INV01" AND 
    Value(Node[/InvoiceDetails/invoiceTotalVatIncludedAmount]) >"0" ==true)
    {
    Field.FieldValue = "0";
    return;
    }
    if((Value(Node[/InvoiceDetails/InvoiceTypeCode]) =="INV01" AND 
    Value(Node[/InvoiceDetails/invoiceTotalVatIncludedAmount]) >"0" ==false)
    {
    Field.FieldValue ="1";
    return;
    }