Factura electrónica
Requisitos previos
Para poder usar esta guía, primero necesitarás:
La especificación de este Web Service se encuentra disponible en https://www.afip.gob.ar/ws/documentacion/manuales/manual-desarrollador-ARCA-COMPG-v4-0.pdf
Si es tu primera vez conectándote con la facturación electrónica de AFIP/ARCA, te recomiendo leer esta guía básica sobre su funcionamiento general:
Crear PDF
Crear PDFObtener número del último comprobante creado
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Crear y asignar CAE a un comprobante
Debemos utilizar el método createVoucher pasándole como parámetro un Objeto con los detalles del comprobante y si queremos tener la respuesta completa enviada por el WS debemos pasarle como segundo parámetro true, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { CAE : CAE asignado el comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd) }.
Debemos utilizar el método CreateVoucher pasándole como parámetro un Array con los detalles del comprobante y si queremos tener la respuesta completa devuelta por el WS debemos pasarle como segundo parámetro TRUE, en caso de no enviarle el segundo parámetro nos devolverá como respuesta array(CAE => CAE asignado el comprobante, CAEFchVto => Fecha de vencimiento del CAE (yyyy-mm-dd)).
Debemos utilizar el método createVoucher pasándole como parámetro un Hash con los detalles del comprobante y si queremos tener la respuesta completa devuelta por el WS debemos pasarle como segundo parámetro true, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { "CAE": CAE asignado el comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd) }.
Debemos utilizar el método createVoucher pasándole como parámetro un Hash con los detalles del comprobante y si queremos tener la respuesta completa devuelta por el WS debemos pasarle como segundo parámetro true, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { "CAE": CAE asignado el comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd) }.
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Crear y asignar CAE a siguiente comprobante
Debemos utilizar el método createNextVoucher pasándole como parámetro un Objeto con los detalles del comprobante al igual que el método createVoucher, nos devolverá como respuesta { CAE : CAE asignado al comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd), voucher_number : Número asignado al comprobante }.
Debemos utilizar el método CreateNextVoucher pasándole como parámetro un Array con los detalles del comprobante al igual que el método CreateVoucher, nos devolverá como respuesta array(CAE => CAE asignado al comprobante, CAEFchVto => Fecha de vencimiento del CAE (yyyy-mm-dd), voucher_number => Número asignado al comprobante).
Debemos utilizar el método createNextVoucher pasándole como parámetro un Hash con los detalles del comprobante al igual que el método createVoucher, nos devolverá como respuesta { "CAE" : CAE asignado al comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd), "voucher_number" : Número asignado al comprobante }.
Debemos utilizar el método createNextVoucher pasándole como parámetro un Hash con los detalles del comprobante al igual que el método createVoucher, nos devolverá como respuesta { "CAE" : CAE asignado al comprobante, "CAEFchVto" : Fecha de vencimiento del CAE (yyyy-mm-dd), "voucher_number" : Número asignado al comprobante }.
Se debe llamar al endpoint Obtener número del último comprobante creado, al numero de comprobante que nos devuelve sumarle 1, y llamar al endpoint Crear y asignar CAE a un comprobante
Obtener información de un comprobante ya emitido
Con este método podemos obtener toda la información relacionada a un comprobante o simplemente saber si el comprobante existe.
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Crear CAEA
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener información de CAEA ya emitido
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener puntos de venta disponibles
Es normal recibir un error en testing ya que no existen puntos de venta para testing (siempre se usa 1)
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de comprobantes disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de conceptos disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de documentos disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de alícuotas disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de monedas disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener cotización de moneda
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de opciones disponibles para el comprobante
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de tributos disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Obtener tipos de condiciones frente al IVA disponibles
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Transformar formato de fecha que utiliza AFIP
De yyyymmdd a yyyy-mm-dd
Si lo necesitas, a esto podes implementarlo con el lenguaje que utilices.
Obtener estado del servidor
No te confíes mucho de este método, ARCA siempre devuelve que esta todo bien incluso cuando hay algo fallando.
Endpoint
POST https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
Última actualización
¿Te fue útil?

