description |
---|
Utilizá la API de facturación electrónica de TusFacturas.app, para enviar a procesar lotes de hasta 100 comprobantes por llamada, acelerando tus tiempos de procesamiento. |
{% swagger baseUrl="https://www.tusfacturas.app/app/api" path="/v2/facturacion/lotes" method="post" summary="Facturación por Lotes" %} {% swagger-description %}
\
Charset: UTF-8
\
\
Formato esperado: JSON {% endswagger-description %}
{% swagger-parameter in="body" name="requests" type="array" %} Según estructura de de cada item (detallado abajo).
\
Máximo de request que se recibirán por cada llamada: 500 {% endswagger-parameter %}
{% swagger-parameter in="body" name="usertoken" type="string" %} Tus credenciales de acceso {% endswagger-parameter %}
{% swagger-parameter in="body" name="apitoken" type="string" %} Tus credenciales de acceso {% endswagger-parameter %}
{% swagger-parameter in="body" name="apikey" type="string" %} Tus credenciales de acceso {% endswagger-parameter %}
{% swagger-response status="200" description="" %} {% code title="JSON" %}
{
"error": "N",
"errores": [],
"response": [{
"error": "N",
"errores": [],
"cae": "68466696512853 ",
"comprobante_nro": "00003-00000074",
"cae_vencimiento": "26\/11\/2018",
"observaciones": "AFIP genero el comprobante pero lo ha marcado como observado por los siguientes motivos: Observacion: Factura individual, DocTipo: 80, DocNro 22222222222 no se encuentra inscripto en condicion ACTIVA en el impuesto (IVA). [ codigo: 10063 ]. Dichas observaciones no requieren accion de su parte.",
"envio_x_mail": "N",
"envio_x_mail_direcciones": "",
"rta": "El comprobante FACTURA A 00003-00000074 (XXXXXX) se ha guardado correctamente ",
"vencimiento_cae": "26\/11\/2018",
"vencimiento_pago": "16\/11\/2018",
"comprobante_tipo": "FACTURA A",
"afip_codigo_barras": "111111111110010000368466696512853201811262 ",
"comprobante_pdf_url": "https:\/\/www.dominio.com\/00000074.pdf"
}, {
"error": "N",
"errores": [],
"cae": "68466696512866 ",
"comprobante_nro": "00003-00000075",
"cae_vencimiento": "26\/11\/2018",
"observaciones": "AFIP genero el comprobante pero lo ha marcado como observado por los siguientes motivos: Observacion: Factura individual, DocTipo: 80, DocNro 22222222222 no se encuentra inscripto en condicion ACTIVA en el impuesto (IVA). [ codigo: 10063 ]. Dichas observaciones no requieren accion de su parte.",
"envio_x_mail": "N",
"envio_x_mail_direcciones": "",
"rta": "El comprobante FACTURA A 00003-00000075 (XXXXXX) se ha guardado correctamente ",
"vencimiento_cae": "26\/11\/2018",
"vencimiento_pago": "16\/11\/2018",
"comprobante_tipo": "FACTURA A",
"afip_codigo_barras": "111111111110010000368466696512866201811266 ",
"comprobante_pdf_url": "https:\/\/www.dominio.com\/00000075.pdf"
}]
}
{% endcode %} {% endswagger-response %} {% endswagger %}
Requests es un array, que contiene cada uno de los comprobantes a emitir.
{% hint style="info" %} La cantidad máxima de requests (por cada llamada que realices) debe ser de 100.
Todos los requests de llamada, deben ser del mismo tipo de comprobante.
Los request deben venir ordenados por número ascendente y por fecha, de la misma manera que si los enviarás a procesar uno por uno. {% endhint %}
La estructura de cada "request" debe ser acorde a los siguientes tipos de comprobante a generar (comprobantes de tipo A, comprobantes de tipo B, comprobantes de tipo C ) . No podrás enviar comprobantes de tipo E ni de Factura de crédito electrónica (FEC) en ésta modalidad.
- Que no se envien más de 100 requests por llamada.
- Las credenciales de acceso enviadas en cada request deben corresponder con las suyas.
- Dentro de cada request, el campo "numero" del comprobante, debe contener el numero del comprobante en cuestión, ya que con él deberás luego relacionarlo en tu sistema y manejar las respuestas.
{% code title="JSON" %}
{
"apitoken": "kkakak208a17cdfc4e4741437baddaa6",
"apikey": "0000",
"usertoken": "a7ahdt5s7725d7fa4f4e63646bc169b",
"requests": [
{
"apitoken": "kkakak208a17cdfc4e4741437baddaa6",
"cliente": {
"documento_tipo": "CUIT",
"condicion_iva": "M",
"domicilio": "Av Sta Fe 23132",
"condicion_pago": "211",
"documento_nro": "3071229384",
"razon_social": "VOUSYS",
"provincia": "2",
"email": "[email protected]",
"envia_por_mail": "N"
},
"apikey": "0000",
"comprobante": {
"rubro": "Sevicios web",
"percepciones_iva": 0,
"tipo": "FACTURA B",
"numero": 1,
"facturacion_lote_id_referencia": "ASD123AW",
"percepciones_iibb": 0,
"bonificacion": 0,
"operacion": "V",
"detalle": [{
"cantidad": 1,
"producto": {
"descripcion": "Hosting pagina web ",
"codigo": 37,
"lista_precios": "standard",
"leyenda": "",
"unidad_bulto": 1,
"alicuota": 21,
"precio_unitario_sin_iva": 114.88
}
}],
"fecha": "28/03/2018",
"rubro_grupo_contable": "Sevicios",
"total": 139.0,
"cotizacion": 1,
"moneda": "PES",
"punto_venta": 3,
"percepciones_iibb": "0",
"percepciones_iibb_base": "0",
"percepciones_iibb_alicuota": "0",
"percepciones_iva": "0",
"percepciones_iva_base": "0",
"percepciones_iva_alicuota": "0",
"exentos": "0",
"impuestos_internos": "0",
"impuestos_internos_base": "0",
"impuestos_internos_alicuota": "0"
},
"usertoken": "a7ahdt5s7725d7fa4f4e63646bc169b"
},
{
"apitoken": "kkakak208a17cdfc4e4741437baddaa6",
"cliente": {
"documento_tipo": "CUIT",
"condicion_iva": "M",
"domicilio": "Av Sta Fe 23132",
"condicion_pago": "211",
"documento_nro": "3071229384",
"razon_social": "VOUSYS",
"provincia": "2",
"email": "[email protected]",
"envia_por_mail": "N"
},
"apikey": "0000",
"comprobante": {
"rubro": "Sevicios web",
"percepciones_iva": 0,
"tipo": "FACTURA B",
"numero": 2,
"facturacion_lote_id_referencia": "ASD123AW2",
"percepciones_iibb": 0,
"bonificacion": 0,
"operacion": "V",
"detalle": [{
"cantidad": 1,
"producto": {
"descripcion": "Hosting pagina web ",
"codigo": 37,
"lista_precios": "standard",
"leyenda": "",
"unidad_bulto": 1,
"alicuota": 21,
"precio_unitario_sin_iva": 114.88
}
}],
"fecha": "28/03/2018",
"rubro_grupo_contable": "Sevicios",
"total": 139.0,
"cotizacion": 1,
"moneda": "PES",
"punto_venta": 3,
"percepciones_iibb": "0",
"percepciones_iibb_base": "0",
"percepciones_iibb_alicuota": "0",
"percepciones_iva": "0",
"percepciones_iva_base": "0",
"percepciones_iva_alicuota": "0",
"exentos": "0",
"impuestos_internos": "0",
"impuestos_internos_base": "0",
"impuestos_internos_alicuota": "0"
},
"usertoken": "a7ahdt5s7725d7fa4f4e63646bc169b"
},
{
"apitoken": "kkakak208a17cdfc4e4741437baddaa6",
"cliente": {
"documento_tipo": "CUIT",
"condicion_iva": "M",
"domicilio": "Av Sta Fe 23132",
"condicion_pago": "211",
"documento_nro": "3071229384",
"razon_social": "VOUSYS",
"provincia": "2",
"email": "[email protected]",
"envia_por_mail": "N"
},
"apikey": "0000",
"comprobante": {
"rubro": "Sevicios web",
"percepciones_iva": 0,
"tipo": "FACTURA B",
"numero": 3,
"percepciones_iibb": 0,
"bonificacion": 0,
"operacion": "V",
"detalle": [{
"cantidad": 1,
"producto": {
"descripcion": "Hosting pagina web ",
"codigo": 37,
"lista_precios": "standard",
"leyenda": "",
"unidad_bulto": 1,
"alicuota": 21,
"precio_unitario_sin_iva": 114.88
}
}],
"fecha": "28/03/2018",
"rubro_grupo_contable": "Sevicios",
"total": 139.0,
"cotizacion": 1,
"moneda": "PES",
"punto_venta": 3,
"percepciones_iibb": "0",
"percepciones_iibb_base": "0",
"percepciones_iibb_alicuota": "0",
"percepciones_iva": "0",
"percepciones_iva_base": "0",
"percepciones_iva_alicuota": "0",
"exentos": "0",
"impuestos_internos": "0",
"impuestos_internos_base": "0",
"impuestos_internos_alicuota": "0"
},
"usertoken": "a7ahdt5s7725d7fa4f4e63646bc169b"
}
]
}
{% endcode %}
{% code title="PHP" %}
// ENVIO REQUEST
$url ="https://www.tusfacturas.app/api/v2/facturacion/lotes" ;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode($facturacion_json) );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$json_rta_curl = json_decode( curl_exec($ch) ) ;
curl_close($ch);
{% endcode %}
Ej: una llamada con 3 requests, donde segundo el comprobante enviado tiene un tipo de comprobante diferente.
{% code title="JSON" %}
{
"error": "S",
"errores": ["El comprobante enviado en la fila 1 (comenzando en 0) tiene un tipo de comprobante diferente."]
}
{% endcode %}
{% hint style="warning" %} En el caso que se envíe a AFIP el lote a procesar y un comprobante venga rechazado, todos los comprobantes subsiguientes del lote, vendrán rechazados. {% endhint %}
{% code title="JSON" %}
{
"error": "S",
"errores": [],
"response": [{
"error": "N",
"errores": [],
"cae": "68466696512853 ",
"comprobante_nro": "00003-00000074",
"cae_vencimiento": "26\/11\/2018",
"observaciones": "AFIP genero el comprobante pero lo ha marcado como observado por los siguientes motivos: Observacion: Factura individual, DocTipo: 80, DocNro 22222222222 no se encuentra inscripto en condicion ACTIVA en el impuesto (IVA). [ codigo: 10063 ]. Dichas observaciones no requieren accion de su parte.",
"envio_x_mail": "N",
"envio_x_mail_direcciones": "",
"rta": "El comprobante FACTURA A 00003-00000074 (XXXXXX) se ha guardado correctamente ",
"vencimiento_cae": "26\/11\/2018",
"vencimiento_pago": "16\/11\/2018",
"comprobante_tipo": "FACTURA A",
"afip_codigo_barras": "111111111110010000368466696512853201811262 ",
"comprobante_pdf_url": "https:\/\/www.dominio.com\/074.pdf"
}, {
"error": "S",
"errores": [" AFIP Factura electronica, rechazo el comprobante - ERROR: AFIP rechazo la generacion del comprobante Cod: 0", " AFIP Factura electronica, rechazo el comprobante - ERROR: El campo FchServDesde no puede ser posterior al campo FchServHasta. Cod: 10032"],
"cae": "",
"comprobante_nro": "00003-00000082",
"cae_vencimiento": "",
"observaciones": "",
"envio_x_mail": "",
"envio_x_mail_direcciones": ""
}, {
"error": "S",
"errores": [" AFIP Factura electronica, rechazo el comprobante - ERROR: AFIP rechazo la generacion del comprobante Cod: 0"],
"cae": "",
"comprobante_nro": "00003-00000083",
"cae_vencimiento": "",
"observaciones": "",
"envio_x_mail": "",
"envio_x_mail_direcciones": ""
}]
}
{% endcode %}
Si falla una emisión del comprobante de un lote, ¿se realiza un rollback de las emitidas hasta el momento en ese lote? ¿Se emite hasta dicha factura? ¿Saltea el comprobante y continúa con el siguiente?
Si un comprobante tiene error, ese comprobante y los siguientes vendrán rechazados. No existe rollback porque se va procesando contra AFIP y generando en nuestra plataforma en el orden en que se reciben.
Tenes un promedio de 3 minutos dependiendo de si ademas de generar el comprobante, el mismo debe ser enviado por email de manera automática
Si, muchisima.
No, los comprobantes deben ser enviados bajo el criterio de:
- Mismo tipo de comprobante
- Número de comprobante (ascendente)
- Fecha