Crear una nueva factura
curl -u 03334b0a261a2c355ae2db022a963d8e:x -X POST -H 'Accept: application/xml' -H 'Content-Type: application/xml'
-d "<?xml version='1.0' encoding='UTF-8'?>
<invoice>
<client>
<id>12</id>
</client>
<invoiceDate>20110326</invoiceDate>
<invoiceSerial><![CDATA[T11]]></invoiceSerial>
<invoiceNumber>2</invoiceNumber>
<currency>EUR</currency>
<tags>
<globalTag><![CDATA[Etiqueta global 1]]></globalTag>
<localTag><![CDATA[Etiqueta local 1]]></localTag>
<globalTag><![CDATA[Global 2]]></globalTag>
</tags>
<tax1>
<name>IVA</name>
<rate>18.00</rate>
</tax1>
<tax2>
<name>IRPF</name>
<rate>-15.00</rate>
</tax2>
<notes></notes>
<subject></subject>
<draft>false</draft>
<sent>true</sent>
<invoiceLines>
<invoiceLine>
<productCode><![CDATA[T2]]></productCode>
<description><![CDATA[Servicio de transporte]]></description>
<quantity>3.00</quantity>
<unitPrice>25.00</unitPrice>
</invoiceLine>
<invoiceLine>
<productCode><![CDATA[T1]]></productCode>
<description><![CDATA[Servicio rápido peninsular]]></description>
<quantity>1.50</quantity>
<unitPrice>10.00</unitPrice>
<discountRate>10.00</discountRate>
<applyTax1>true</applyTax1>
<applyTax2>true</applyTax2>
</invoiceLine>
</invoiceLines>
<payments>
<payment>
<dueDate>20110326</dueDate>
<dueRate>50</dueRate>
</payment>
<payment>
<dueDate>20110526</dueDate>
</payment>
</payments>
</invoice>
"
https://[ACCOUNT_NAME].facturadirecta.com/api/invoices.xml
Cosas a tener en cuenta en la creación de una factura
La estructura de creación de factura dispone de muchos campos pero muchos de ellos son opcionales.
- El campo cliente (invoice/client) es siempre obligatorio y debe indicarse el ID del cliente (invoice/client/id). El cliente debe existir previamente a la llamada de creación de factura, con lo que si el cliente es nuevo debe utilizarse primero la llamada de creación de cliente antes de continuar con la llamada de creación de factura.
- Si no se indica la fecha de la factura (invoiceDate), el sistema asignará automáticamente la fecha actual.
- Si no se indica el número de factura (invoiceNumber), el sistema asignará automáticamente (siempre que la factura no esté en borrador, <draft>true</draft>) un número correlativo teniendo en cuenta la serie de la factura (invoiceSerial)
- En los atributos tax1 y tax2 a nivel de invoice, tan solo deben indicarse:
- El nombre (invoice/tax1/name): IRPF, IVA, etc..
- El porcentaje aplicado (invoice/tax1/rate): 18, -15
- En la zona de vencimientos de pago (payments), es posible indicar el importe de cada pago de múltiples formas:
- Indicando el importe exacto (con el campo amount)
- Indicando el porcentaje a cobrar respecto al todo (con el campo dueRate)
- No indicando ni el importe (amount) ni el porcentaje (dueRate). En este caso, el sistema intentará autorellenar el contenido con el importe de forma que sea coherente con la factura.
Ejemplos:
<payment>
<dueDate>20110326</dueDate>
<amount>90.93</amount>
</payment>
<payment>
<dueDate>20110326</dueDate>
<dueRate>50</dueRate>
</payment>
<payment>
<dueDate>20110326</dueDate>
</payment>