Introducción
El presente documento tiene por finalidad facilitar la integración de las empresas, en la utilización y consumo de la API REST RAPIFAC para la emisión electrónica de comprobantes de pago, así mismo facilitar la autorización de DICHA API, vía nuestro nuevo servidor de autorización que sigue los estándares OAuth2.0.
Antes de empezar
Antes de empezar a consumir la API REST RAPIFAC, tenga en cuenta que debe comunicarse con el área de ventas de nuestra empresa, con el fin de que se le otorgue un usuario y contraseña para poder hacer uso de nuestra plataforma.
La ubicación de ambiente:
Ambiente de pruebas | Ambiente de producción | |
---|---|---|
Autentificación | wsoauth-exp.rapifac.com | wsoauth.rapifac.com |
Emisión | wsventas-exp.rapifac.com | wsventas.rapifac.com |
Comprobantes | wscomprobante-exp.rapifac.com | wscomprobante.rapifac.com |
Autentificación
Autorización
Para poder empezar a consumir nuestra API, primero deberá solicitar un token de acceso (access_token), este le permitirá por un tiempo limitado tener acceso a los endpoints de nuestra API, cabe señalar que este token solo le dará acceso a los recursos de emisión electrónica a los que tenga permiso y que correspondan únicamente a su empresa; por otro lado el servidor de autorización le otorgará un token de refresco (refresh_token), con esté, podrá solicitar un nuevo token de acceso cuando el que tenga haya expirado y no pueda utilizarse más; todo el flujo de autorización, obtención de token de acceso y token de refresco se implementa siguiendo los estándares OAuth2.0. A continuación se muestra el flujo de autorización de nuestro servicio de integración:

Para el flujo de autorización tendremos los siguientes endpoints y sus respectivos parámetros:
1. Access token vía resource owner credentials
Los campos username y password deben ser llenados con las credenciales correspondientes, por ejemplo si mi DNI es 55555555 y mi ruc 20555555551 el campo username=5555555520555555551 y el campo password será la contraseña correspondiente al usuario.
Si la respuesta nos da un status code 200, entonces será exitosa y tendremos una respuesta como la siguiente:
Si el resultado de la petición retorna un status code 400, quiere decir que ud. ha enviado algún dato o parámetro de manera incorrecta, mostrando como respuesta:
2. Access token vía refresh token
El campo refresh_token debe ser completado con los datos del refresh token obtenido, cuando se obtuvo el access_token anterior.
Si la respuesta a la petición contiene un status code 200 entonces se obtendrá una respuesta igual a la de la petición de token vía Resource Owner Credentials, de igual manera si la respuesta contiene un status code 400 la respuesta será similar a la anterior mostrada.
Una vez que se obtiene el token de acceso todas las llamadas a la API REST RAPIFAC deberán llevar una cabecera llamada Authorization esta cabecera deberá contener el token_type obtenido en la solicitud de token, un espacio y el access_token que también se obtuvo de la petición de autorización; un ejemplo de solicitud con la cabecera de autorización sería el siguiente:
A continuación; se muestran ejemplos en distintos lenguajes y tecnologías utilizadas.
Emisión
1. Emisión de un comprobante
Estas líneas de código están enviando una solicitud de acceso a nuestro servidor web de RAPIFAC para poder Emitir un Comprobante Electrónico, utilizando un token de autenticación proporcionado en el Inicio de Sesión en formato JWT y enviando un objeto JSON con detalles relevantes para la solicitud.
2. Objeto para la emisión de un comprobante
Los datos se envían en formato JSON. Los datos necesarios son:
3. Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
ID | Number | 123 | Este valor es el identificador del comprobante y se genera automáticamente por NUESTRO SISTEMA en el momento de la emisión del comprobante. |
Sucursal | int | 1 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
DescuentoGlobalMonto | Decimal | 8.47 | Descuento Global en monto pero el valor neto de los productos gravados |
CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
CargoGlobalIndicadorCargos | Bool | true | Indicador para el XML que se enviara a la SUNAT |
CargoGlobalCodigoMotivo | string | 46 | Recargo al consumo y/o propinas |
CondicionPago | string | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
ClienteTipoDocIdentidadCodigo | string | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
ClienteNumeroDocIdentidad | string | 20200200201 | El número del documento de identidad del cliente a quién se emite el comprobante |
ListaDetalles | Array | [ ComprobanteDetalle1, ComprobanteDetalle2 ] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
ImporteTotalTexto | string | VEINTE CON 00/100 SOLES | Importe total del comprobante en texto |
DescuentoGlobalMontoBase | Decimal | 16.949 | Valor Neto de la venta de los productos gravados |
DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
AnticiposGravado | Decimal | 0 | Valor neto del Anticipo Gravado |
AnticiposExonerado | Decimal | 0 | Valor neto del Anticipo Exonerado |
AnticiposInafecto | Decimal | 0 | Valor neto del Anticipo Inafecto |
CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
CargoGlobalMontoBase | Decimal | 10.00 | Valor Neto de la venta de los productos |
ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
GratuitoGravado | Decimal | 10 | Total(sumatoria) del valor de venta neto de los productos |
TotalPrecioVenta | Decimal | 10 | Total precio de venta (subtotal de la factura) |
TotalValorVenta | Decimal | 8.47457 | Total valor de venta |
ListaMovimientos | Array | [ MovimientoCuenta1, MovimientoCuenta2] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
CreditoTotal | Decimal | 10 | Total de crédito del comprobante |
TipoDocumentoCodigo | string | 01 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
Serie | string | F001 | Serie del documento o comprobante |
Correlativo | int | 0001 | Número correlativo del documento o comprobante |
MonedaCodigo | string | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
FechaEmision | string | 30/05/2022 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
CorrelativoModificado | string | 156 | Correlativo que se modifica cuando el comprobante que se emite es de tipo 07 o 08 |
TipoNotaCreditoCodigo | string | 01 | Valor que identifica el tipo de nota de crédito, aplica si el comprobante es de tipo 07. - 01: Anulación de la operación - 03: Corrección por error en la descripción - 04: Descuento global - 06: Devolución total - 07: Devolución por ítem - 13: Ajustes – montos y/o fechas de pago |
TipoNotaDebitoCodigo | string | 01 | Valor que identifica el tipo de nota de débito, este valor solo aplica cuando el comprobante es de tipo 08. - 01: INTERESES POR MORA - 02: AUMENTO EN EL VALOR - 03: PENALIDAD |
TipoOperacionCodigo | string | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
TipoCambio | Number | 3.78 | El tipo de cambio del dólar |
ClienteNombreRazonSocial | string | Libertad S.A. | Razón social del cliente a quién se emite el comprobante. |
ClienteDireccion | string | Av. Siempre Viva 666 | Dirección del cliente a quién se emite el comprobante. |
DescuentoGlobalPorcentaje | Decimal | 50 | El porcentaje de descuento de los productos gravados |
DescuentoGlobalValor | Decimal | 10 | Descuento global como monto de los productos gravados |
Observacion | string | Regularización del anticipo | Campo que sirve para agregar una observación adicional al comprobante |
Gravado | Decimal | 8.4745 | Total(sumatoria) del valor de venta de los productos gravados |
Exonerada | Decimal | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
TipoDocumentoCodigoModificado | String | 01 | Valor que representa el tipo de documento que se modifica, aplica en caso de que el comprobante sea de tipo 07 o 08, ya que estos documentos son de modificación de comprobantes, los valores posibles que puede contener son: - 01: FACTURA - 03: BOLETA DE VENTA |
SerieModificado | String | F001 | Serie del documento que se modifica cuando el comprobante que se emite es del tipo 07 o 08. |
Inafecto | Decimal | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
Exportacion | Decimal | 0 | Total(sumatoria) del valor de venta de los productos exportación |
Gratuito | Decimal | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
TotalDescuentos | Decimal | 8.47457 | Total de los descuentos tanto global como descuento por ítem |
TotalAnticipos | Decimal | 0 | Total de todos los anticipos |
ISC | decimal | 39.996399 | Monto calculado después de ingresar el ISCPorcentaje |
IGV | Decimal | 1.525 | Suma IGV de todos los ítems |
ICBPER | Decimal | 0 | Total del Impuesto al consumo de las bolsas de plástico |
ImpuestoTotal | Decimal | 1.525 | Total de los impuestos a pagar (IGV, ISC, ICBPER, etc) |
TotalOtrosCargos | Decimal | 1.525 | Total de los otros cargos |
TotalImporteVenta | Decimal | 10 | Importe total de la venta, cesión en uso o del servicio prestado |
TotalPago | Decimal | 10 | Total a pagar |
PendientePago | Decimal | 10 | Total pendiente de pago |
Factura
Objeto para la emisión de una Factura
Para la factura se utiliza el objeto comprobante, este objeto a diferencia de los demás; tiene por datos específicos para la emisión de este comprobante.
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
ID | Number | 123 | Este valor es el identificador del comprobante y se genera automáticamente por NUESTRO SISTEMA en el momento de la emisión del comprobante. |
Sucursal | int | 1 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
DescuentoGlobalMonto | Decimal | 8.47 | Descuento Global en monto pero el valor neto de los productos gravados |
CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
CargoGlobalIndicadorCargos | Bool | true | Indicador para el XML que se enviara a la SUNAT |
CargoGlobalCodigoMotivo | string | 46 | Recargo al consumo y/o propinas |
CondicionPago | string | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
ClienteTipoDocIdentidadCodigo | string | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
ClienteNumeroDocIdentidad | string | 20200200201 | El número del documento de identidad del cliente a quién se emite el comprobante |
ListaDetalles | Array | [ ComprobanteDetalle1, ComprobanteDetalle2 ] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
ImporteTotalTexto | string | VEINTE CON 00/100 SOLES | Importe total del comprobante en texto |
DescuentoGlobalMontoBase | Decimal | 16.949 | Valor Neto de la venta de los productos gravados |
DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
AnticiposGravado | Decimal | 0 | Valor neto del Anticipo Gravado |
AnticiposExonerado | Decimal | 0 | Valor neto del Anticipo Exonerado |
AnticiposInafecto | Decimal | 0 | Valor neto del Anticipo Inafecto |
CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
CargoGlobalMontoBase | Decimal | 10.00 | Valor Neto de la venta de los productos |
ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
GratuitoGravado | Decimal | 10 | Total(sumatoria) del valor de venta neto de los productos |
TotalPrecioVenta | Decimal | 10 | Total precio de venta (subtotal de la factura) |
TotalValorVenta | Decimal | 8.47457 | Total valor de venta |
ListaMovimientos | Array | [ MovimientoCuenta1, MovimientoCuenta2] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
CreditoTotal | Decimal | 10 | Total de crédito del comprobante |
TipoDocumentoCodigo | string | 01 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
Serie | string | F001 | Serie del documento o comprobante |
Correlativo | int | 0001 | Número correlativo del documento o comprobante |
MonedaCodigo | string | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
FechaEmision | string | 30/05/2022 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
CorrelativoModificado | string | 156 | Correlativo que se modifica cuando el comprobante que se emite es de tipo 07 o 08 |
TipoNotaCreditoCodigo | string | 01 | Valor que identifica el tipo de nota de crédito, aplica si el comprobante es de tipo 07. - 01: Anulación de la operación - 03: Corrección por error en la descripción - 04: Descuento global - 06: Devolución total - 07: Devolución por ítem - 13: Ajustes – montos y/o fechas de pago |
TipoNotaDebitoCodigo | string | 01 | Valor que identifica el tipo de nota de débito, este valor solo aplica cuando el comprobante es de tipo 08. - 01: INTERESES POR MORA - 02: AUMENTO EN EL VALOR - 03: PENALIDAD |
TipoOperacionCodigo | string | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
TipoCambio | Number | 3.78 | El tipo de cambio del dólar |
ClienteNombreRazonSocial | string | Libertad S.A. | Razón social del cliente a quién se emite el comprobante. |
ClienteDireccion | string | Av. Siempre Viva 666 | Dirección del cliente a quién se emite el comprobante. |
DescuentoGlobalPorcentaje | Decimal | 50 | El porcentaje de descuento de los productos gravados |
DescuentoGlobalValor | Decimal | 10 | Descuento global como monto de los productos gravados |
Observacion | string | Regularización del anticipo | Campo que sirve para agregar una observación adicional al comprobante |
Gravado | Decimal | 8.4745 | Total(sumatoria) del valor de venta de los productos gravados |
Exonerada | Decimal | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
Inafecto | Decimal | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
Exportacion | Decimal | 0 | Total(sumatoria) del valor de venta de los productos exportación |
Gratuito | Decimal | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
TotalDescuentos | Decimal | 8.47457 | Total de los descuentos tanto global como descuento por ítem |
TotalAnticipos | Decimal | 0 | Total de todos los anticipos |
ISC | decimal | 39.996399 | Monto calculado después de ingresar el ISCPorcentaje |
IGV | Decimal | 1.525 | Suma IGV de todos los ítems |
ICBPER | Decimal | 0 | Total del Impuesto al consumo de las bolsas de plástico |
ImpuestoTotal | Decimal | 1.525 | Total de los impuestos a pagar (IGV, ISC, ICBPER, etc) |
TotalOtrosCargos | Decimal | 1.525 | Total de los otros cargos |
TotalImporteVenta | Decimal | 10 | Importe total de la venta, cesión en uso o del servicio prestado |
TotalPago | Decimal | 10 | Total a pagar |
PendientePago | Decimal | 10 | Total pendiente de pago |
Boleta
Objeto para la emisión de una Boleta
Para la emisión de una boleta se utiliza el objeto comprobante, este objeto a diferencia de los demás; tiene por datos específicos para la emisión de este comprobante.
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
Usuario | String | 20190306 | Código del usuario que emitió el comprobante |
Sucursal | String | 3677 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
DescuentoGlobalMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos gravados |
CargoGlobalIndicadorCargos | String | 0.000000 | Indicador para el XML que se enviara a la SUNAT |
CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
CargoGlobalCodigoMotivo | String | 0 | Recargo al consumo y/o propinas |
OrigenSistema | Int | 7 | Origen del sistema |
CanalVenta | String | 2 | Canal de venta |
Vendedor | String | 20190306 | Identificador del vendedor |
CondicionPago | String | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
Ubigeo | String | 150115 | Código de ubigeo del cliente a quién se emite el comprobante. |
ClienteTipoDocIdentidadCodigo | String | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
ClienteNumeroDocIdentidad | String | 10428985783 | El número del documento de identidad del cliente a quién se emite el comprobante |
ListaDetalles | Array | [] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
ImporteTotalTexto | String | QUINCE CON 00/100 SOLES | Importe total del comprobante en texto |
DescuentoGlobalMontoBase | Decimal | 0 | Valor Neto de la venta de los productos gravados |
DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
DescuentoNGMonto | Decimal | 0 | Descuento en monto de producto no gravado |
CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
CargoGlobalMontoBase | Decimal | 12.711864 | Valor Neto de la venta de los productos |
ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
GratuitoGravado | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos |
TotalPrecioVenta | Decimal | 15 | Total precio de venta (subtotal de la factura) |
TotalValorVenta | Decimal | 12.711864 | Total valor de venta |
ListaMovimientos | Array | [] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
CreditoTotal | Int | 0 | Total de crédito del comprobante |
TipoDocumentoCodigo | String | 07 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
Serie | String | FC01 | Serie del documento o comprobante |
Correlativo | Int | 1129 | Número correlativo del documento o comprobante |
MonedaCodigo | String | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
FechaEmision | String | 23/02/2023 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
TipoDocumentoCodigoModificado | String | 01 | Valor que representa el tipo de documento que se modifica, aplica en caso de que el comprobante sea de tipo 07 o 08, ya que estos documentos son de modificación de comprobantes, los valores posibles que puede contener son: - 01: FACTURA - 03: BOLETA DE VENTA |
TipoOperacionCodigo | String | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
TipoCambio | Decimal | 3.919 | El tipo de cambio del dólar |
ClienteNombreRazonSocial | String | CACERES PILLACA | Razón social del cliente a quién se emite el comprobante. |
DescuentoGlobalPorcentaje | Int | 0 | El porcentaje de descuento de los productos gravados |
DescuentoGlobalValor | Int | 0 | Descuento global como monto de los productos gravados |
Observacion | String | ANULACIÓN DE LA OPERACIÓN | Campo que sirve para agregar una observación adicional al comprobante |
Gravado | Decimal | 12.711864 | Total(sumatoria) del valor de venta de los productos gravados |
Exonerada | Int | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
Inafecto | Int | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
Gratuito | Int | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
TotalDescuentos | Int | 0 | Total de los descuentos tanto global como descuento por ítem |
DescuentoGlobal | Decimal | 0 | Total de los descuentos tanto global como descuento por ítem |
TotalAnticipos | Int | 0 | Total de todos los anticipos |
ISC | Int | 0 | Monto calculado después de ingresar el ISCPorcentaje |
IGV | Decimal | 2.288135 | Suma IGV de todos los ítems |
ICBPER | Int | 0 | Total del Impuesto al consumo de las bolsas de plástico |
TotalOtrosCargos | Int | 0 | Total de los otros cargos |
TotalImporteVenta | Int | 15 | Importe total de la venta, cesión en uso o del servicio prestado |
PercepcionTotal | Int | 0 | Monto total de la percepción |
TotalPago | Int | 15 | Total a pagar |
MontoRetencion | Int | 0 | Monto de la retención |
PendientePago | String | 15.00 | Total pendiente de pago |
Orden
Objeto para la emisión de una Orden
Para la emisión de una Orden se utiliza el objeto comprobante, este objeto a diferencia de los demás; tiene por datos específicos para la emisión de este comprobante.
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
Usuario | String | 20190306 | Código del usuario que emitió el comprobante |
Sucursal | String | 3677 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
DescuentoGlobalMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos gravados |
CargoGlobalIndicadorCargos | String | 0.000000 | Indicador para el XML que se enviara a la SUNAT |
CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
CargoGlobalCodigoMotivo | String | 0 | Recargo al consumo y/o propinas |
OrigenSistema | Int | 0 | Origen del sistema |
CanalVenta | String | 2 | Canal de venta |
Vendedor | String | 20190306 | Identificador del vendedor |
CondicionPago | String | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
Ubigeo | String | 150115 | Código de ubigeo del cliente a quién se emite el comprobante. |
ClienteTipoDocIdentidadCodigo | String | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
ClienteNumeroDocIdentidad | String | 10428985783 | El número del documento de identidad del cliente a quién se emite el comprobante |
ListaDetalles | Array | [] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
ImporteTotalTexto | String | QUINCE CON 00/100 SOLES | Importe total del comprobante en texto |
DescuentoGlobalMontoBase | Decimal | 0 | Valor Neto de la venta de los productos gravados |
DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
DescuentoNGMonto | Decimal | 0 | Descuento en monto de producto no gravado |
CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
CargoGlobalMontoBase | Decimal | 12.711864 | Valor Neto de la venta de los productos |
ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
GratuitoGravado | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos |
TotalPrecioVenta | Decimal | 15 | Total precio de venta (subtotal de la factura) |
TotalValorVenta | Decimal | 12.711864 | Total valor de venta |
ListaMovimientos | Array | [] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
CreditoTotal | Int | 0 | Total de crédito del comprobante |
TipoDocumentoCodigo | String | 07 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
Serie | String | FC01 | Serie del documento o comprobante |
Correlativo | Int | 1129 | Número correlativo del documento o comprobante |
MonedaCodigo | String | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
FechaEmision | String | 23/02/2023 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
TipoDocumentoCodigoModificado | String | 01 | Valor que representa el tipo de documento que se modifica, aplica en caso de que el comprobante sea de tipo 07 o 08, ya que estos documentos son de modificación de comprobantes, los valores posibles que puede contener son: - 01: FACTURA - 03: BOLETA DE VENTA |
TipoOperacionCodigo | String | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
TipoCambio | Decimal | 3.919 | El tipo de cambio del dólar |
ClienteNombreRazonSocial | String | CACERES PILLACA | Razón social del cliente a quién se emite el comprobante. |
DescuentoGlobalPorcentaje | Int | 0 | El porcentaje de descuento de los productos gravados |
DescuentoGlobalValor | Int | 0 | Descuento global como monto de los productos gravados |
Observacion | String | ANULACIÓN DE LA OPERACIÓN | Campo que sirve para agregar una observación adicional al comprobante |
Gravado | Decimal | 12.711864 | Total(sumatoria) del valor de venta de los productos gravados |
Exonerada | Int | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
Inafecto | Int | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
Gratuito | Int | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
TotalDescuentos | Int | 0 | Total de los descuentos tanto global como descuento por ítem |
DescuentoGlobal | Decimal | 0 | Total de los descuentos tanto global como descuento por ítem |
TotalAnticipos | Int | 0 | Total de todos los anticipos |
ISC | Int | 0 | Monto calculado después de ingresar el ISCPorcentaje |
IGV | Decimal | 2.288135 | Suma IGV de todos los ítems |
ICBPER | Int | 0 | Total del Impuesto al consumo de las bolsas de plástico |
TotalOtrosCargos | Int | 0 | Total de los otros cargos |
TotalImporteVenta | Int | 15 | Importe total de la venta, cesión en uso o del servicio prestado |
PercepcionTotal | Int | 0 | Monto total de la percepción |
TotalPago | Int | 15 | Total a pagar |
MontoRetencion | Int | 0 | Monto de la retención |
PendientePago | String | 15.00 | Total pendiente de pago |
Nota de Crédito
Objeto para la emisión de una Nota de Crédito
Para la emisión de una nota de crédito se utiliza el objeto comprobante, este objeto a diferencia de los demás; tiene por datos específicos para la emisión de este comprobante.
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
ID | long | 0 | Este valor es el identificador del comprobante y se genera automáticamente por NUESTRO SISTEMA en el momento de la emisión del comprobante. |
Usuario | String | 20190306 | Código del usuario que emitió el comprobante |
Sucursal | String | 3677 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
DescuentoGlobalMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos gravados |
CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
CargoGlobalIndicadorCargos | String | 0.000000 | Indicador para el XML que se enviara a la SUNAT |
CargoGlobalCodigoMotivo | String | 0 | Recargo al consumo y/o propinas |
OrigenSistema | Int | 0 | Origen del sistema |
CanalVenta | String | 2 | Canal de venta |
Vendedor | String | 20190306 | Identificador del vendedor |
CondicionPago | String | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
Ubigeo | String | 150115 | Código de ubigeo del cliente a quién se emite el comprobante. |
SeCambiaFecha | Bool | false | Valor si se cambiara la fecha, sus valores pueden ser: True, false |
ClienteTipoDocIdentidadCodigo | String | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
ClienteNumeroDocIdentidad | String | 10428985783 | El número del documento de identidad del cliente a quién se emite el comprobante |
ListaMovimientos | Array | [] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
ListaDetalles | Array | [] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
ImporteTotalTexto | String | QUINCE CON 00/100 SOLES | Importe total del comprobante en texto |
Detraccion | Decimal | 0 | Descuento de un porcentaje del importe a pagar |
DescuentoGlobalMontoBase | Decimal | 0 | Valor Neto de la venta de los productos gravados |
DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
DescuentoNGMonto | Decimal | 0 | Descuento en monto de producto no gravado |
AnticiposGravado | Decimal | 0 | Valor neto del Anticipo Gravado |
AnticiposExonerado | Decimal | 0 | Valor neto del Anticipo Exonerado |
AnticiposInafecto | Decimal | 0 | Valor neto del Anticipo Inafecto |
CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
CargoGlobalMontoBase | Decimal | 12.711864 | Valor Neto de la venta de los productos |
ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
GratuitoGravado | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos |
TotalPrecioVenta | Decimal | 15 | Total precio de venta (subtotal de la factura) |
TotalValorVenta | Decimal | 12.711864 | Total valor de venta |
CreditoTotal | Int | 0 | Total de crédito del comprobante |
DesdeOrden | Bool | false | Valor si se esta realizando desde orden, los valores pueden ser: true, false |
TipoPrecio | String | 0 | Tipo de precio |
TipoDocumentoCodigo | String | 07 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
Serie | String | FC01 | Serie del documento o comprobante |
Correlativo | Int | 1129 | Número correlativo del documento o comprobante |
MonedaCodigo | String | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
FechaEmision | String | 23/02/2023 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
TipoDocumentoCodigoModificado | String | 01 | Valor que representa el tipo de documento que se modifica, aplica en caso de que el comprobante sea de tipo 07 o 08, ya que estos documentos son de modificación de comprobantes, los valores posibles que puede contener son: - 01: FACTURA - 03: BOLETA DE VENTA |
SerieModificado | String | F001 | Serie del documento que se modifica cuando el comprobante que se emite es del tipo 07 o 08. |
CorrelativoModificado | String | 11392 | Correlativo que se modifica cuando el comprobante que se emite es de tipo 07 o 08 |
TipoNotaCreditoCodigo | String | 01 | Valor que identifica el tipo de nota de crédito, aplica si el comprobante es de tipo 07. - 01: Anulación de la operación - 03: Corrección por error en la descripción - 04: Descuento global - 06: Devolución total - 07: Devolución por ítem - 13: Ajustes – montos y/o fechas de pago |
TipoNotaDebitoCodigo | String | 01 | Valor que identifica el tipo de nota de débito, este valor solo aplica cuando el comprobante es de tipo 08. - 01: INTERESES POR MORA - 02: AUMENTO EN EL VALOR - 03: PENALIDAD |
TipoOperacionCodigo | String | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
TipoCambio | Decimal | 3.919 | El tipo de cambio del dólar |
MotivoTrasladoCodigo | String | 01 | Codigo del motivo de traslado |
ClienteNombreRazonSocial | String | CACERES PILLACA | Razón social del cliente a quién se emite el comprobante. |
ClienteDireccion | String | JR. ARENALES | Dirección del cliente a quién se emite el comprobante. |
DescuentoGlobalPorcentaje | Int | 0 | El porcentaje de descuento de los productos gravados |
DescuentoGlobalValor | Int | 0 | Descuento global como monto de los productos gravados |
Observacion | String | ANULACIÓN DE LA OPERACIÓN | Campo que sirve para agregar una observación adicional al comprobante |
Gravado | Decimal | 12.711864 | Total(sumatoria) del valor de venta de los productos gravados |
Exonerada | Int | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
Inafecto | Int | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
Exportacion | Int | 0 | Total(sumatoria) del valor de venta de los productos exportación |
Gratuito | Int | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
TotalDescuentos | Int | 0 | Total de los descuentos tanto global como descuento por ítem |
TotalAnticipos | Int | 0 | Total de todos los anticipos |
ISC | Int | 0 | Monto calculado después de ingresar el ISCPorcentaje |
IGV | Decimal | 2.288135 | Suma IGV de todos los ítems |
ICBPER | Int | 0 | Total del Impuesto al consumo de las bolsas de plástico |
ImpuestoTotal | Decimal | 2.288135 | Total de los impuestos a pagar (IGV, ISC, ICBPER, etc) |
TotalOtrosCargos | Int | 0 | Total de los otros cargos |
TotalImporteVenta | Int | 15 | Importe total de la venta, cesión en uso o del servicio prestado |
PercepcionTotal | Int | 0 | Monto total de la percepción |
TotalPago | Int | 15 | Total a pagar |
Leyenda | Int | 0 | Cuando es Factura, los valores son: - 0: Ninguno - 3: BIENES TRANSFERIDOS EN LA AMAZONIA REGION SELVA PARA SER CONSUMIDOS EN LA MISMA - 4: SERVICIOS TRANSFERIDOS EN LA AMAZONIA REGION SELVA PARA SER CONSUMIDOS EN LA MISMA - 5: CONTRATOS DE CONSTRUCCION EJECUTADOS EN LA AMAZONIA REGION SELVA Cuando es Boleta, los valores son: - 0: Ninguno - 1: BIENES TRASNFERIDOS EN LA AMAZONIA REGION SELVA PARA SER CONSUMIDOS EN LA MISMA - 2: SERVICIOS TRANSFERIDOS EN LA AMAZONIA REGION SELVA PARA SER CONSUMIDOS EN LA MISMA - 3: CONTRATOS DE CONSTRUCCION EJECUTADOS EN LA AMAZONIA REGION SELVA |
DocAdicionalCodigo | Int | 0 | Codigo de documento adicional, sus valores pueden ser: - 0: Ninguno - 1: Orden Compra - 2: Pedido |
DocAdicionalDetalle | String | Detalle de documento adicional | |
MontoRetencion | Int | 0 | Monto de la retención |
PendientePago | String | 15.00 | Total pendiente de pago |
FechaIngresoPais | String | 23/02/2023 | Fecha de ingreso al país, el formato deberá estar en dd/mm/yyyy |
FechaIngresoEstablecimiento | String | 23/02/2023 | Fecha de ingreso de establecimiento, el formato deberá estar en dd/mm/yyyy |
Nota de Débito
Objeto para la emisión de una Nota de Débito
Para la emisión de una nota de débito se utiliza el objeto comprobante, este objeto a diferencia de los demás; tiene por datos específicos para la emisión de este comprobante.
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
Usuario | String | 20190306 | Código del usuario que emitió el comprobante |
Sucursal | String | 3677 | El id que identifica a la sucursal para la cual se está emitiendo el comprobante |
IGVPorcentaje | Decimal | 18 | Porcentaje que se aplicará a la venta (los restaurantes pueden solicitar que sea 10) |
CargoGlobalPorcentaje | Decimal | 0 | El porcentaje de descuento de los productos |
CargoGlobalIndicadorCargos | String | 0.000000 | Indicador para el XML que se enviara a la SUNAT |
CargoGlobalCodigoMotivo | String | 0 | Recargo al consumo y/o propinas |
OrigenSistema | Int | 0 | Origen del sistema |
Vendedor | String | 20190306 | Identificador del vendedor |
CondicionPago | String | Contado | Condición en la cual se realiza el pago del comprobante, sus valores pueden ser: Contado, Credito. |
Ubigeo | String | 150115 | Código de ubigeo del cliente a quién se emite el comprobante. |
ClienteTipoDocIdentidadCodigo | String | 6 | Cadena que representa el tipo de documento de identidad del cliente del comprobante, los valores que este campo puede aceptar son los siguientes: - -: SN DOC.DOM - 0: DOC. TRIB. - 1: L.E/DNI - 4: CARNET EXT - 6: RUC - 7: PASAPORTE - 9: CARNÉ SOLIC. REFUGIO - A: CED. DIPL. - B: DOC. PAIS RESID. - C: DOC TIN - PP.NN - D: DOC IN - PP.JJ - E: TARJETA ANDINA - TAM - F: PERMISO TEMPORAL - PTP - G: SALVOCONDUCTO - I: CARNÉ C.IDENT.-RREE - J: DOC.ID.EXTR. Sin embargo, estos tipos serán válidos para ciertos comprobantes y para ciertos casos, estos son: - TipoDocumentoCodigo 01, operación 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0101: 6 - TipoDocumentoCodigo 01, TipoOperacionCodigo 0200: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0201: 0, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0202: 0, 6, 7, A, B, C, D,E, F, G - TipoDocumentoCodigo 01, TipoOperacionCodigo 0205: 7, B - TipoDocumentoCodigo 01, TipoOperacionCodigo 2001: 6 - TipoDocumentoCodigo 03, Todos los tipos de documento |
ClienteNumeroDocIdentidad | String | 10428985783 | El número del documento de identidad del cliente a quién se emite el comprobante |
ListaDetalles | Array | [] | La lista de detalles del comprobante, cada ítem del arreglo será del tipo DetalleComprobante que se detallará más adelante. |
ExoneradaXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos exonerados |
InafectoXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos inafectos |
ExportacionXML | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos de exportación |
ImporteTotalTexto | String | QUINCE CON 00/100 SOLES | Importe total del comprobante en texto |
DescuentoGlobalMontoBase | Decimal | 0 | Valor Neto de la venta de los productos gravados |
DescuentoGlobalNGMonto | Decimal | 0 | Descuento Global en monto pero el valor neto de los productos no gravados |
DescuentoGlobalNGMontoBase | Decimal | 0 | Valor Neto de la venta de los productos no gravados |
DescuentoNGMonto | Decimal | 0 | Descuento en monto de producto no gravado |
CargoGlobalMonto | Decimal | 0 | Recargo Global en monto pero el valor neto |
CargoGlobalMontoBase | Decimal | 12.711864 | Valor Neto de la venta de los productos |
ISCBase | Decimal | 0 | Sumatoria del ValorVentaItemXML |
GratuitoGravado | Decimal | 0 | Total(sumatoria) del valor de venta neto de los productos |
TotalPrecioVenta | Decimal | 15 | Total precio de venta (subtotal de la factura) |
TotalValorVenta | Decimal | 12.711864 | Total valor de venta |
ListaMovimientos | Array | [] | Arreglo de objetos de movimientos de cuentas, este objeto se detallará más adelante. |
CreditoTotal | Int | 0 | Total de crédito del comprobante |
TipoDocumentoCodigo | String | 07 | Tipo de comprobante para la emisión lo valores posibles pueden ser: -01: FACTURA -03: BOLETA -07: NOTA DE CRÉDITO -08: NOTA DE DÉBITO -09: GUÍA REMITENTE -31: GUÍA TRANSPORTISTA -98: COTIZACIÓN -99: ORDEN |
Serie | String | FC01 | Serie del documento o comprobante |
Correlativo | Int | 1129 | Número correlativo del documento o comprobante |
MonedaCodigo | String | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
FechaEmision | String | 23/02/2023 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante. |
TipoDocumentoCodigoModificado | String | 01 | Valor que representa el tipo de documento que se modifica, aplica en caso de que el comprobante sea de tipo 07 o 08, ya que estos documentos son de modificación de comprobantes, los valores posibles que puede contener son: - 01: FACTURA - 03: BOLETA DE VENTA |
SerieModificado | String | F001 | Serie del documento que se modifica cuando el comprobante que se emite es del tipo 07 o 08. |
CorrelativoModificado | String | 11392 | Correlativo que se modifica cuando el comprobante que se emite es de tipo 07 o 08 |
TipoNotaCreditoCodigo | String | 01 | Valor que identifica el tipo de nota de crédito, aplica si el comprobante es de tipo 07. - 01: Anulación de la operación - 03: Corrección por error en la descripción - 04: Descuento global - 06: Devolución total - 07: Devolución por ítem - 13: Ajustes – montos y/o fechas de pago |
TipoNotaDebitoCodigo | String | 01 | Valor que identifica el tipo de nota de débito, este valor solo aplica cuando el comprobante es de tipo 08. - 01: INTERESES POR MORA - 02: AUMENTO EN EL VALOR - 03: PENALIDAD |
TipoOperacionCodigo | String | 0101 | Este código sirve para identificar el tipo de operación a realizar y aplica al comprobante tipo 01 Factura, sus posibles valores pueden ser: - 0101: Venta interna - 0200: Exportación de Bienes - 0201: Exportación de Servicios – Prestación servicios realizados íntegramente en el país - 0202: Exportación de Servicios – Hospedaje No Domiciliado - 0205: Exportación de Servicios – Paquete Turístico - 1001: Operación Sujeta a Detracción - 2001: Operación Sujeta a Percepción Para el comprobante tipo 03 Boleta su valor debe ser 0101. |
TipoCambio | Decimal | 3.919 | El tipo de cambio del dólar |
ClienteNombreRazonSocial | String | CACERES PILLACA | Razón social del cliente a quién se emite el comprobante. |
ClienteDireccion | String | JR. ARENALES | Dirección del cliente a quién se emite el comprobante. |
DescuentoGlobalPorcentaje | Int | 0 | El porcentaje de descuento de los productos gravados |
DescuentoGlobalValor | Int | 0 | Descuento global como monto de los productos gravados |
Observacion | String | ANULACIÓN DE LA OPERACIÓN | Campo que sirve para agregar una observación adicional al comprobante |
Gravado | Decimal | 12.711864 | Total(sumatoria) del valor de venta de los productos gravados |
Exonerada | Int | 0 | Total(sumatoria) del valor de venta de los productos exonerados |
Inafecto | Int | 0 | Total(sumatoria) del valor de venta de los productos inafectos |
Gratuito | Int | 0 | Total(sumatoria) del valor de venta de los productos gratuitos no gravados |
TotalDescuentos | Int | 0 | Total de los descuentos tanto global como descuento por ítem |
DescuentoGlobal | Decimal | 0 | Descuento global |
TotalAnticipos | Decimal | 0 | Total de todos los anticipos |
IGV | Decimal | 2.288135 | Suma IGV de todos los ítems |
ICBPER | Int | 0 | Total del Impuesto al consumo de las bolsas de plástico |
ImpuestoTotal | Decimal | 2.288135 | Total de los impuestos a pagar (IGV, ISC, ICBPER, etc) |
TotalOtrosCargos | Int | 0 | Total de los otros cargos |
TotalImporteVenta | Int | 15 | Importe total de la venta, cesión en uso o del servicio prestado |
PercepcionTotal | Int | 0 | Monto total de la percepción |
TotalPago | Decimal | 15 | Total a pagar |
MontoRetencion | Decimal | 0 | Monto de la retención |
PendientePago | Decimal | 15.00 | Total pendiente de pago |
Ejemplos de emisión
Tipos de afectación:
Codigo | Tipo de afectación |
---|---|
10 | Gravado - Operación Onerosa |
11 | Gravado - Retiro por premio |
13 | Gravado - Retiro |
15 | Gravado - Bonificaciones |
16 | Gravado - Retiro por entrega a trabajadores |
20 | Exonerado - Operación Onerosa |
21 | Exonerado - Transferencia gratuita |
30 | Inafecto - Operación Onerosa |
31 | Inafecto - Retiro por Bonificación |
35 | Inafecto - Retiro por premio |
36 | Inafecto - Retiro por publicidad |
40 | Exportación |
Ejemplos:
Tipo de afectación Codigo | Descripción | Stock | Cantidad | UNI. MED. | Precio unitario | Descuento (%) | Ganancia | IGV | Importe |
---|---|---|---|---|---|---|---|---|---|
"10" | Producto gravado | 1 | 1 | UNIDAD | 118 | 0 | 118 | 18 | 118 |
"20" | Producto exonerado | 1 | 1 | UNIDAD | 118 | 0 | 118 | 0 | 118 |
"30" | Producto inafecto | 1 | 1 | UNIDAD | 118 | 0 | 118 | 0 | 118 |
Objetos Json:
Objeto de json gravado
Objeto de json exonerado
Objeto de json inafecto
Ejemplos de archivos Json:
Tenemos archivos JSON de ejemplo para la mayoría de casos:
FACTURAS
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN GRAVADA
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN EXONERADA
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN GRATUITA
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN INAFECTO
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN EXONERADA Y OPERACIÓN INAFECTA
- EMISIÓN POR VENTA INTERNA CON DESCUENTO POR ITEM GRAVADO
- EMISIÓN POR VENTA INTERNA CON DESCUENTO GLOBAL GRAVADO
- EMISIÓN POR VENTA INTERNA CON DESCUENTO GLOBAL GRAVADO Y EXONERADO
- EMISIÓN POR VENTA INTERNA CON DESCUENTO POR ITEM Y DESCUENTO GLOBAL
- EMISIÓN POR VENTA INTERNA CON ISC
- EMISIÓN POR VENTA INTERNA CON OTROS CARGOS
- EMISIÓN POR VENTA INTERNA CON PERCEPCIÓN
- EMISIÓN POR VENTA INTERNA CON DETRACCIÓN
- EMISIÓN POR VENTA INTERNA ADJUNTANDO GUIA DE REMISIÓN
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN GRAVADA Y OTROS CARGOS
- MUCHO MÁS
BOLETAS
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN GRAVADA
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN GRAVADA Y OPERACIÓN INAFECTA
- EMISIÓN POR VENTA INTERNA CON DESCUENTO POR ITEM EXONERADO
- EMISIÓN POR VENTA INTERNA CON DESCUENTO GLOBAL GRAVADO
- EMISIÓN POR VENTA INTERNA CON ISC Y OPERACIÓN GRAVADA
- EMISIÓN POR VENTA INTERNA CON ISC Y OPERACIÓN EXONERADA CON OPERACIÓN INAFECTA
- EMISIÓN POR VENTA INTERNA CON OTROS CARGOS CON OPERACIÓN GRAVADA
- EMISIÓN POR VENTA INTERNA CON OTROS CARGOS MAS OPERACIÓN GRAVADA Y OPERACIÓN EXONERADA
- EMISIÓN POR VENTA INTERNA CON DOLARES
- EMISIÓN POR VENTA INTERNA ADJUNTANDO GUIA DE REMISIÓN
- EMISIÓN POR VENTA INTERNA CON OPERACIÓN GRATUITA
- EMISIÓN POR VENTA INTERNA CON PRIMER ANTICIPO
- EMISIÓN POR VENTA INTERNA CON REGULARIZACION DE ANTICIPO
- EMISIÓN POR VENTA INTERNA CON PAGO MULTIPLE
- MUCHO MÁS
NOTA DE CRÉDITO
- EMISIÓN DE NOTA DE CRÉDITO DE FACTURA CON ANULACIÓN DE LA OPERACIÓN
- EMISIÓN DE NOTA DE CRÉDITO DE FACTURA CON CORRECIÓN POR ERROR EN LA DESCRIPCIÓN
- EMISIÓN DE NOTA DE CRÉDITO DE FACTURA CON DESCUENTO GLOBAL
- EMISIÓN DE NOTA DE CRÉDITO DE FACTURA CON DEVOLUCIÓN TOTAL
- EMISIÓN DE NOTA DE CRÉDITO DE FACTURA CON DEVOLUCIÓN POR ITEM
- EMISIÓN DE NOTA DE CRÉDITO DE FACTURA CON AJUSTES - MONTOS Y/O FECHAS DE PAGO
- EMISIÓN DE NOTA DE CRÉDITO DE BOLETA CON ANULACIÓN DE LA OPERACIÓN
- EMISIÓN DE NOTA DE CRÉDITO DE BOLETA CON CORRECIÓN POR ERROR EN LA DESCRIPCIÓN
- EMISIÓN DE NOTA DE CRÉDITO DE BOLETA CON DESCUENTO GLOBAL
- EMISIÓN DE NOTA DE CRÉDITO DE BOLETA CON DEVOLUCIÓN TOTAL
- EMISIÓN DE NOTA DE CRÉDITO DE BOLETA CON DEVOLUCIÓN POR ITEM
- EMISIÓN DE NOTA DE CRÉDITO DE BOLETA CON AJUSTES - MONTOS Y/O FECHAS DE PAGO
- EMISIÓN DE NOTA DE CRÉDITO POR FACTURA AL CRÉDITO
- EMISIÓN DE NOTA DE CRÉDITO POR BOLETA AL CRÉDITO
GUIA REMITENTE
- EMISIÓN DE GUIA REMITENTE CON MOTIVO VENTA CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO COMPRA CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO TRASLADO ENTRE ESTABLECIMIENTOS DE LA MISMA EMPRESA CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO OTROS CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO VENTA SUJETA A CONFIRMACIÓN DEL COMPRADOR CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO TRASLADO EMISOR ITINERANTE CP CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO VENTA CON TRANSPORTE PRIVADO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO COMPRA CON TRANSPORTE PUBLICO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO TRASLADO ENTRE ESTABLECIMIENTOS DE LA MISMA EMPRESA CON TRANSPORTE PRIVADO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO OTROS CON TRANSPORTE PRIVADO
- EMISIÓN DE GUIA REMITENTE CON MOTIVO TRASLADO EMISOR ITINERANTE CP TRANSPORTE PRIVADO
- MUCHO MÁS
NOTA DE DÉBITO
- EMISIÓN DE NOTA DE DÉBITO DE FACTURA CON INTERES POR MORA
- EMISIÓN DE NOTA DE DÉBITO DE FACTURA CON AUMENTO EN EL VALOR
- EMISIÓN DE NOTA DE DÉBITO DE FACTURA CON PENALIDAD
- EMISIÓN DE NOTA DE DÉBITO DE BOLETA CON INTERES POR MORA
- EMISIÓN DE NOTA DE DÉBITO DE BOLETA AUMENTO EN EL VALOR
- EMISIÓN DE NOTA DE DÉBITO DE BOLETA CON PENALIDAD
Detalles
Objeto para la creación de un detalle
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
ID | long | 0 | Número que sirve para identificar el comprobante |
ComprobanteID | long | 0 | Número que sirve para identificar el comprobante |
Item | int | 1 | Numeración de los detalles |
ProductoCodigo | string | Prod00151 | Código correlativo asignado por el sistema a un producto |
ProductoCodigoCliente | string | UBI2023 | Código del producto asignado por el cliente a un producto |
ProductoCodigoSUNAT | string | 39121321 | Código de SUNAT |
TipoSistemaISCCodigo | string | -01 Sistema al valor -02 Aplicación del monto fijo -03 Sistema de precios de Venta al Público | Tipo de afectación ISC para un producto |
UnidadMedidaCodigo | string | valor | Abreviatura de la Unidad de Medida |
PrecioUnitarioItem | decimal | 236 | Monto asignado con IGV de cada producto |
PrecioVentaCodigo | string | 0 o 1 | Código de precio de venta |
ICBPER | decimal | 0.5 | Impuesto que grava la compra de bolsas plásticas |
DescuentoIndicador | string | 0 o 1 | Opción para escoger el tipo de descuento – 0 (%) 1 (S/.) |
PercepcionPorcentaje | decimal | 0 | Tasa de percepción agregada a un producto |
PrecioCompra | decimal | 50 | Monto ingresado con el cual el producto fue comprado |
CantidadUnidadMedida | decimal | 1 | Es el número que contiene la unidad |
Kit | bool | true | Producto final compuesto con varios productos |
PrecioUnitarioNeto | decimal | 150 | Monto asignado con IMPUESTOS de cada producto con resta de los descuentos |
Cargo | decimal | 18.4375 | Monto que resulta del valor unitario por el recargo ingresado |
Descuento | decimal | 40 | Monto que se ingresa al sistema |
ValorUnitario | decimal | 200 | Monto asignado sin IGV de una unidad |
ValorUnitarioNeto | decimal | 127.118 | Monto asignado sin IMPUESTOS de cada producto con resta de los descuentos |
ValorVentaItem | decimal | 127.118 | Monto asignado sin IGV de cada producto |
ValorVentaItemXML | decimal | 127.118 | Monto asignado sin IGV de cada producto menos el descuento |
ISC | decimal | 39.996399 | Monto calculado después de ingresar el ISCPorcentaje |
IGV | decimal | 18 | Impuesto que pagan los ciudadanos al realizar una adquisición |
ICBPERSubTotal | decimal | 1 | Sumatoria del ICBPER según la cantidad de los productos |
DescuentoBase | decimal | 400 | Monto asignado por el sistema |
CargoItem | decimal | 36.875 | Monto que resulta del valor unitario por el recargo ingresado |
PrecioVenta | decimal | 472 | El monto final ingresado por el cliente |
MontoTributo | decimal | 66.375 | IGV |
ISCPorcentaje | decimal | 11.11 | Monto ingresado para calcular el ISC |
CargoPorcentaje | decimal | 10 | Monto que resulta del valor unitario por el recargo ingresado |
Descripcion | string | PRODUCTO GRAVADO | Detalle el nombre del producto |
Observacion | string | Regularización del anticipo | Campo que sirve para agregar una observación adicional al comprobante |
Stock | decimal | 5 | Cantidad |
Cantidad | decimal | 2 | Número que indica el contenido del producto |
PrecioCodigo | decimal | 535 | Código de precio |
PrecioUnitario | decimal | 236 | Monto asignado con IGV de una unidad |
Peso | decimal | 1 | Cantidad que indica la masa de un producto |
DescuentoMonto | decimal | 23.6 | Es el resultado obtenido del precio final entre el descuento |
DescuentoPorcentaje | decimal | 10 | Monto ingresado para el descuento |
TipoAfectacionIGVCodigo | string | 10 Gravado – Operación Onerosa | Son los distintos tipos de afectación IGV |
ValorVenta | decimal | 400 | Monto que establece un vendedor para la adquisición de bienes o servicios que ofrece el comprador |
ImporteTotal | decimal | 472 | Monto total |
PesoTotal | decimal | 1 | Sumatoria total de las cantidades de todo los productos |
Movimientos
Objeto para la creación de movimientos
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
TipoDocumentoCodigo | String | 01 | Código del tipo del documento o comprobante: 01: Factura, 03: Boleta, 07: Nota de crédito, 08: Nota de débito, 99: Orden |
Serie | String | F001 | Serie del documento o comprobante |
Correlativo | Int | 1 | Número correlativo del documento o comprobante |
Condicion | String | Contado | Condición con la que fue emitido el comprobante: Contado o Credito |
CondicionComprobante | String | Contado | Condición del comprobante recuperado con nota de crédito o débito: Contado o Credito. |
TipoCuentaCodigo | Int | 1 | Código del tipo de cuenta, estos son: 1. Efectivo, 2. Tarjeta, 3. Banco |
CuentaNumero | String | 10101010 | Número o código de la cuenta donde se registra el dinero. |
Usuario | String | 10101010 | Código del usuario que emitió el comprobante |
MonedaCodigo | String | PEN | Código de la moneda con la que se emitió el comprobante: PEN y USD |
SucursalId | Int | 1 | Código de la sucursal donde se emitió el comprobante. |
TipoDocIdentidadCodigo | String | 1 | Tipo del documento de identidad con la que se emitió el comprobante. |
NumeroDocIdentidad | String | 45454545 | Número del documento de identidad. |
Observacion | String | Ventas | Observación o descripción del comprobante emitido. |
CuentaNombre | String | BCP | Nombre de la cuenta |
CuentaValor | String | 1-10101010 | Concatenación de TipoCuentaCodigo y CuentaNumero |
Pago | Decimal | 100.00 | Monto del importe total del comprobante. |
Vuelto | Decimal | 10.00 | Monto del cálculo del vuelto |
FechaPago | DateTime | 08/02/2023 | Fecha de la operación bancaria o tarjeta |
NumeroOperacion | String | 0455120 | Número de la operación bancaria o tarjeta |
FechaVencimiento | DateTime | 08/03/2023 | Fecha de vencimiento para comprobante emitido al crédito. |
PlazoDias | Int | 30 | Número de días de plazo para comprobante emitido al crédito. |
Anulación
Anulación de un comprobante
Estas líneas de código están enviando una solicitud de acceso a nuestro servidor web de RAPIFAC para poder Anular un Comprobante Electrónico, utilizando un token de autenticación proporcionado en el Inicio de Sesión en formato JWT y enviando un objeto JSON con detalles relevantes para la solicitud.
Objeto para la anulación de un comprobante
El objeto en formato JSON que se necesita para la anulación de un comprobante es el siguiente:
Descripción de los elementos del objeto
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
ID | Number | 123 | Este valor es el identificador del comprobante y se genera automáticamente por nuestros sistemas en el momento de la emisión del comprobante. |
TipoDocumentoCodigo | String | 01 | Este valor identifica el tipo de documento y su valor está determinado por los tipos de comprobantes que SUNAT acepta, estos pueden ser: - 01: Factura - 03: Boleta de Venta - 07: Nota de Crédito - 08: Nota de Debito - 09: Guía de RemisiónRemitente - 31: Guía de Remisión Transportista - 98: Cotización, este documento no escomprobante de pago,no se envía a SUNAT - 99: Orden, este documento no es comprobante de pago, no se envía a SUNAT |
Serie | String | F001 | Serie del documento, esta serie identifica a un conjunto de comprobantes, y es diferente para cada tipo de comprobante, además cada tipo decomprobante puede tener varias series. |
Correlativo | Number | 56 | Correlativo del documento, es un valor numérico secuencial que crece en una unidad para cada comprobante nuevo; además los comprobantes de una misma serie deben tener diferentes correlativos y estos deben ser secuenciales. |
FechaEmision | String | 30/05/2022 | Cadena con la fecha de emisión del comprobante, esta fecha debe estar en el formato dd/mm/yyyy, esta fecha debe ser la misma fecha en la que se emite el comprobante |
MotivoBaja | String | Error de monto | Cadena con el motivo de la anulación del documento |
ListaDetalles | Array | [{ComprobanteDetalle1},{ComprobanteDetalle2}] | La lista de detalles del comprobante, cada ítem del arreglo sera del tipo DetalleComprobante que se detallará mas adelante |
ListaMovimientos | Array | [{ MovimientoCuenta1},{MovimientoCuenta2}] | Arreglo de objetos de movimientos de cuentas, este objeto de detallará más adelante |
Listado
Se utiliza el endpoint '/v0/comprobantes/' para listar los comprobantes emitidos según los filtros que se envían en la sección de params. La solicitud también incluye un encabezado 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los valores que van en params son:
Ejemplos de petición para obtener la lista de comprobantes
Para hacer la solicitud de tipo GET por diferentes tipos de solicitud es de la siguiente forma:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Descripción de la respuesta
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
documento | String | 97 | Tipo de documento, estos son: - 00: Todos - 01: Factura - 03: Boleta de venta - 07: nota de crédito - 08: nota de debito - 99: orden - 98: cotización - 09: guía remitente - 31: guía transportista - 97: comprobantes - 96: borrador |
desde | String | 01/02/2023 | Fecha de inicio para listar, la fecha tiene que estar en el formato dd/mm/yyyy |
hasta | String | 21/02/2023 | Fecha final para listar, la fecha tiene que estar en el formato dd/mm/yyyy |
busqueda | String | Búsqueda según que coincida en el valor, se puede buscar por nombre o número de documento. | |
sucursal | Int | 1234 | Identificador de la sucursal |
usuario | String | 1234 | Identificador del usuario |
pagina | Int | 1 | Número de pagina |
Recuperar XML
Se utiliza el endpoint '/v0/comprobantes/xml?key={ComprobanteKey}' para recuperar un XML. 'ComprobanteKey' es el indentificador del XML a recuperar. Este endpoint es para obtener el XML de un comprobante emitido. La solicitud se realiza a través de HTTP utilizando el método GET.
La solicitud también incluye un encabezado “authorization” que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los parámetros que se pasan para la consulta URL son:
El tipo de respuesta es 'application/xml', es un archivo xml.
Recuperar CDR
Se utiliza el endpoint '/v0/comprobantes/cdr?key={ComprobanteKey}' para recuperar un CDR. 'ComprobanteKey' es el identificador del CDR a recuperar. Este endpoint es para obtener el CDR de un comprobante emitido. La solicitud se realiza a través de HTTP utilizando el método GET.
La solicitud también incluye un encabezado “authorization” que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los parámetros que se pasan para la consulta URL son:
El tipo de respuesta es 'application/zip', es un archivo zip.
Reenviar
Ejemplos de petición para reenviar un comprobante
Se utiliza el endpoint '/v0/comprobantes/reenviar' para reenviar un documento. La solicitud también incluye un encabezado 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los valores que van en params son:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta con datos del XML y/o CDR como la siguiente:
Descripción de los parametros
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
ID | Int | 92811 | ID del comprobante |
Regenerar | Int | 1 | Valor para hacer reenvio, estos son: - 0: Reenvio de CDR - 1: Reenvio de CDR y XML |
Recuperar
Ejemplos de petición para recuperar un comprobante
Se utiliza el endpoint '/v0/comprobantes' para recuperar un comprobante. La solicitud también incluye un encabezado de 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente. Los valores que van en params son:
Para hacer la solicitud de tipo GET por cURL es de la siguiente forma:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Descripción de los parametros
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
Id | long | 82857 | Id del comprobante |
TipoDocumento | String | 01 | Tipo de documento, estos son: - 98: COTIZACIONES - 99: ORDENES - 03: BOLETAS - 01: FACTURAS - 09: GUIAS REMITENTE - 31: GUIAS TRANSPORTISTA |
Serie | String | F001 | Serie del comprobante |
Correlativo | Int | 1234 | Correlativo del comprobante |
Detalles | Int | 1 | Para recuperar los detalles del comprobante |
Adicionales | Int | 1 | Para recuperar los adicionales del comprobante |
Movimientos | Int | 0 | Para recuperar los movimientos del comprobante |
Buscar producto
Ejemplos de petición para buscar un producto
Se utiliza el endpoint '/v0/comprobantedetalles/productos' para buscar un producto. La solicitud también incluye un encabezado de 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente.
Para hacer la solicitud de tipo GET por cURL es de la siguiente forma:
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Descripción de los parámetros
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
Descripcion | String | gra | Nombre del producto a buscar |
Sucursal | Int | 3677 | Id de la sucursal |
PrecioConfiguracion | Int | 1 | Id de precio configuración |
MonedaCodigo | String | PEN | Código del tipo de moneda (PEN, USD) |
Pagina | Int | 0 | Número de página |
Recuperar producto
Ejemplos de petición para recuperar un producto
Se utiliza el endpoint '/v0/comprobanteDetalles/productos' para recuperar un producto y el endpoint '/v0/comprobanteDetalles/productosmultiples' para recuperar múltiples productos. La solicitud también incluye un encabezado de 'Authorization' que contiene el token de autenticación JWT (JSON Web Token) entregado previamente.
Para hacer la solicitud de tipo GET por cURL es de la siguiente forma:
Recuperar un producto
Recuperar productos múltiples
Respuesta de la petición
El tipo de respuesta es un json y tendremos una respuesta como la siguiente:
Respuesta json de un producto
Respuesta json de productos múltiples
Descripción de los parámetros
campo | tipo | Valor Ejemplo | descripción |
---|---|---|---|
Codigo | String | Prod0904896 | Código del producto, si se recupera con productos múltiples este campo deberá ir separado entre comas de inicio a final. ejemplo: ,Prod0904897,Prod0904896, |
CodigoBarras | String | Prod00001 | Código de barras del producto (campo opcional) |
PrecioConfiguracionCodigo | Int | 1 | Id de precio configuración |
MonedaCodigo | String | PEN | Código del tipo de moneda (PEN, USD) |
Sucursal | Int | 3677 | Id de la sucursal |