Crear una nueva factura periódica
La creación de una factura periódica funciona de forma similar a la creación de una factura normal.
En este caso, existen unos campos de configuración adicionales que definen la periodicidad de la factura:
Configuración de una factura periódica (recurringConfiguration)
El campo recurringConfiguration puede contener los siguientes subcampos:
- startDate: fecha de inicio en que la factura periódica empieza a ser válida.
- endDate: fecha fin en que la factura periódica quedará desactivada.
- nextInvoiceDate: fecha en la que se va a generar la próxima factura periódica.
- periodicity: indica la periodicidad. El formato debe ser un número seguido de un espacio en blanco i de la unidad de periodo (D=día, W=semana, M=mes, Y=año). Ejemplos,<periodicity>1 M</periodicity> <periodicity>3 M</periodicity> <periodicity>1 Y</periodicity>
- createAsDraft: con valor true, la factura periódica se generará en estado provisional.
- mail: Contiene la configuración del envío de factura automática por email.
- active: true indica que la factura debe enviarse por email al generarse en cada periodo
- subject: Título del mensaje de correo electrónico que se utilizará para el envío
- facturae: Indica si se desea adjuntar el formato facturae de la factura (valores esperados en este campo: 3.2, 3.1 o vacío. (vacío = no se incluirá facturae)
- signFiles: true indica que la factura que se envíe por email se firmará digitalmente
- clientRecipients: contiene la lista de direcciones de correo del cliente que recibirán el correo con la factura adjunta
- recipient: indica una dirección de correo de recepción
IMPORTANTE: Los correos indicados en ‘recipient’ deben estar previamente configurados en algún contacto del propio cliente o bien estar definidos en el campo ‘Correo’ del propio cliente. En caso contrario, el sistema no permitirá realizar la configuración del envío. (Esta validación se realiza para evitar que por error se puedan enviar facturas a direcciones de correo que no pertenecen al cliente seleccionado).
Ejemplo de llamada
curl -u 03334b0a261a2c355ae2db022a963d8e:x -X POST -H 'Accept: application/xml' -H 'Content-Type: application/xml'
-d "<?xml version='1.0' encoding='UTF-8'?>
<recurringInvoice>
<id>189</id>
<recurringConfiguration>
<startDate>20110415</startDate>
<endDate>20120415</endDate>
<nextInvoiceDate>20110418</nextInvoiceDate>
<periodicity>1 M</periodicity>
<createAsDraft>false</createAsDraft>
<mail>
<active>true</active>
<subject><![CDATA[Este es el titulo del mensaje]]></subject>
<facturae>3.2</facturae>
<signFiles>true</signFiles>
<body><![CDATA[Adjunta encontrara su factura. Gracias.]]></body>
<clientRecipients>
<recipient>email1@cliente_ejemplo.com</recipient>
<recipient>email2@cliente_ejemplo.com</recipient>
</clientRecipients>
</mail>
</recurringConfiguration>
<client>
<id>57</id>
</client>
<invoiceSerial>T11</invoiceSerial>
<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>
<subject></subject>
<notes></notes>
<invoiceLines>
<invoiceLine>
<productCode><![CDATA[U]]></productCode>
<description><![CDATA[Tarifa al uso]]></description>
<quantity>4.00</quantity>
<unitPrice>8.95</unitPrice>
<discountRate>18.00</discountRate>
<applyTax1>true</applyTax1>
<applyTax2>true</applyTax2>
</invoiceLine>
</invoiceLines>
<payments>
<payment>
<dueDelay>30</dueDelay>
<dueRate>50</dueRate>
</payment>
<payment>
<dueDelay>60</dueDelay>
<dueRate>50</dueRate>
</payment>
</payments>
</recurringInvoice>
"
https://[ACCOUNT_NAME].facturadirecta.com/api/recurringInvoices.xml