Manual Servicios Factoring 15122021
Manual Servicios Factoring 15122021
Manual Servicios Factoring 15122021
PLATAFORMA DE CONFORMIDAD DE
COMPROBANTES DE PAGO ELECTRONICOS
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
INDICE
1. GENERALIDADES................................................................................................................3
1.1. Tipo de servicio.............................................................................................................3
1.2. Autenticación................................................................................................................3
1.3. Manejo de errores.........................................................................................................5
2. SERVICIOS DISPONIBLES.....................................................................................................7
2.1. Consulta de comprobantes por estado.........................................................................7
2.2. Envío masivo de comprobantes..................................................................................13
2.3. Consulta de envío masivo de comprobantes...............................................................15
2.4. Envío de sustento de disconformidad.........................................................................16
ANEXOS....................................................................................................................................18
I. Relación de errores generales.....................................................................................18
II. Errores específicos del servicio de consulta de comprobantes...................................18
III. Errores específicos del servicio de envío masivo de comprobantes............................19
IV. Errores específicos del servicio de consulta de envíos masivos..................................20
V. Errores específicos del servicio de envío de sustento de disconformidad..................20
VI. Estrsuctura del archivo para Conformidad/Disconformidad de comprobantes
Pendientes...........................................................................................................................21
VII. Estructura del archivo para Aceptar/No aceptar comprobantes Subsanados.............22
VIII. Estructura del archivo para Subsanar/Atender comprobantes Disconformes............23
2
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
1. GENERALIDADES
1.2. Autenticación
Los servicios web utilizan la autenticación basada en tokens. Para hacer uso de los servicios, el
usuario debe seguir los siguientes pasos:
a) Generación de credenciales
En el menú SOL, debe inscribir la aplicación que usará los servicios REST y generar sus
credenciales (client_id y client_secret). Este paso se realizará por única vez.
La ubicación de la opción en el menú sol es la siguiente: Credenciales de API SUNAT/
Credenciales de API SUNAT/ Credenciales de API SUNAT/ Credenciales de API SUNAT.
Donde:
- <client_id>: Es el client_id generado en menú SOL
- La URI colocada es referencial
3
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Content-Type Application/json
grant_type password
client_id <client_id> generado en menú SOL
client_secret <client_secret> generado en menú SOL
username <Número de RUC> + <Usuario SOL>
password <Contraseña SOL>
Donde:
- El parámetro grant_type tiene valor fijo
4
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Respuesta de la consulta:
5
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
A) Nivel general
Cuando se presenta un error de tipo general, el servicio responde con los siguientes parámetros:
Response Header
Parámetros Valor
HTTP status Código de Error HTTP
Content-Type application/json
Response Body
Ejemplo de Response
6
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
{
"cod":"500",
"msg":"Internal Server Error - Se presento una condicion inesperada que impidio completar el
Request",
"exc":"java.lang.NullPointerException at ..."
}
B) Nivel específico
Si se trata de un error propio del servicio que se está invocando, el sistema retornará un error
similar al anterior con el código de error HTTP igual a 422. Adicionalmente, mostrará el código de
error específico de las validaciones funcionales del servicio.
Response Body
Parámetros de Salida Descripcion Tipo dato
cod Código de error (Mostrará 422) String
msg Mensaje de error para el usuario String
exc Traza del error String
errors Array de errores y descripción del error String
Ejemplo de Response
{
"cod": "422",
"msg": "Unprocessable Entity - Se presentaron errores de validacion que impidieron
completar el Request",
"exc": null,
"errors": [
{
"codError": "166",
"desError": "Código de ticket no enviado."
}
]
}
Las validaciones y códigos de error específicos por servicios se encuentran en los Anexos II, III, IV y
V.
7
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
2. SERVICIOS DISPONIBLES
Consideraciones
Parámetros de entrada
Request URI
8
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Parámetros de Tipo
Entrada Descripción Formato dato
codCpe Código de tipo de comprobante, solo se permite: Alfanumérico String
01: Factura
02: Recibo por Honorarios
numRegPag Número de registros que nos devuelve cada página, solo se permite: 50, Numérico Integer
100
Parámetros de retorno
Response Header
Parámetros valor
HTTP status 200
Content-Type application/json
Response Body
Parámetros de Salida Descripción Formato Tipo dato
numTotalReg Número total de registros Numérico Integer
numPag Número de página Numérico Integer
numRegPag Número de registros que nos devuelve cada página Numérico Integer
comprobantes Listado de comprobantes Array
comprobantes.numRuc Número de RUC del emisor del comprobante Alfanumérico String
comprobantes.codCpe Código del tipo de comprobante Alfanumérico String
comprobantes.numSerie Serie del comprobante Alfanumérico String
comprobantes.numCpe Número del comprobante Numérico Integer
comprobantes.fecEmision Fecha de emisión del comprobante AAAA-MM- Date
DDThh:mm:ss.SS
S
9
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
comprobantes.codMoneda Código del tipo de moneda. Ejemplo: PEN, USD, etc Alfanumérico String
comprobantes.mtoImporte Monto del importe total de la Factura Numérico Decimal(12,2
TotalFactura Solo se mostrará el monto de la factura si codCpe = 01 )
Factura, caso contrario mostrará 0.00
10
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Ejemplo JSON Response Body (para el caso de consulta de comprobantes con estado PENDIENTE)
{
"numTotalReg":321,
"numPag":1,
"numRegPag":50,
"comprobantes": [{
"numRuc":"20433901127",
"codCpe":"01",
"numSerie":"F001",
"numCpe":1980,
"fecEmision":"2021-05-17T15:21.01",
"fecPuestaDisposicion":"2021-05-17T15:22.01",
"fecPlazoPago":"2021-06-17T00:00:00",
"mtoPagoPendiente":3450.96,
"codMoneda":"PEN",
"mtoImporteTotalFactura":3500.00,
"mtoTotalRhe":0.00,
"mtoRetencionRhe":0.00,
"mtoTotalNetoRecibidoRhe":0.00,
"cuotas": [{
"numCuota":"001",
"mtoCuota":2000.00,
"fecVencimientoCuota":"2021-05-30T00:00:00"
},
{
"numCuota":"002",
"mtoCuota":1450.96,
"fecVencimientoCuota":"2021-06-17T00:00:00"
}]
},
{
"numRuc":"20433901127",
"codCpe":"01",
"numSerie":"F001",
"numCpe":1980,
"fecEmision":"2021-05-17T15:21.01",
"fecPuestaDisposicion":"2021-05-17T15:22.01",
"fecPlazoPago":"2021-06-17T00:00:00",
"mtoPagoPendiente":3450.96,
"codMoneda":"PEN",
"mtoImporteTotalFactura":3500.00,
"mtoTotalRhe":0.00,
"mtoRetencionRhe":0.00,
"mtoTotalNetoRecibidoRhe":0.00,
"cuotas": [{
"numCuota":"001",
"mtoCuota":2000.00,
"fecVencimientoCuota":"2021-05-30T00:00:00"
},
{
"numCuota":"002",
"mtoCuota":1450.96,
"fecVencimientoCuota":"2021-06-17T00:00:00"
}]
11
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
}
]
}
Response Body
Parámetros de Salida Descripcion Formato Tipo dato
numTotalReg Número total de registros Numérico Integer
numPag Número de página Numérico Integer
numRegPag Número de registros que nos devuelve cada página Numérico Integer
comprobantes Listado de comprobantes Array
comprobantes.numRuc Número de RUC del emisor del comprobante Alfanumérico String
comprobantes.codCpe Código del tipo de comprobante Alfanumérico String
comprobantes.numSerie Serie del comprobante Alfanumérico String
comprobantes.numCpe Número del comprobante Numérico Integer
comprobantes.fecPuesta Fecha puesta a disposición en la Plataforma MIGE - AAAA-MM- Date
Disposicion Confirmación de CPE. DDThh:mm:ss.SS
S
comprobantes.disconformidad Detalle de la disconformidad. Object Object
Debe devolver la última disconformidad realizada
12
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
{
"numTotalReg": 321,
"numPag": 1,
"numRegPag": 50,
"comprobantes": [
{
"numRuc": "20433901127",
"codCpe": "01",
"numSerie": "F001",
"numCpe": 1980,
"fecPuestaDisposicion": "2021-05-17T15:22:01.000",
"disconformidad": {
"fecDisconformidad": "2021-05-17T15:22:01.456",
"motivos": [
"1",
"2"
],
"sustento": "Disconformidad, se ha puesto los motivos"
}
}
]
}
Response Body
Parámetros de Salida Descripción Formato Tipo dato
numTotalReg Número total de registros Numérico Integer
numPag Número de página Numérico Integer
numRegPag Número de registros que nos devuelve cada página Numérico Integer
comprobantes Listado de comprobantes Array
comprobantes.numRuc Número de RUC del emisor del comprobante Alfanumérico String
comprobantes.codCpe Código del tipo de comprobante Alfanumérico String
comprobantes.numSerie Serie del comprobante Alfanumérico String
comprobantes.numCpe Número del comprobante Numérico Integer
comprobantes.fecPuesta Fecha puesta a disposición en la Plataforma MIGE - AAAA-MM- Date
Disposicion Confirmación de CPE. DDThh:mm:ss.SS
S
comprobantes.subsanacion Detalle de la subsanación. object
Debe devolver la última subsanación realizada
13
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
notasCpe.numSerie
comprobantes.subsanacion. Número del comprobante que sustenta la subsanación Numérico Integer
notasCpe.numCpe
comprobantes.subsanacion. Lista de códigos de motivos de disconformidad Array Array
notasCpe.motivos
comprobantes.subsanacion Comentario que sustenta la subsanación Alfanumérico String
.notasCpe.comentario
Consideraciones
14
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
El proceso de envío de archivos es asíncrono, por ello, este servicio recibirá el pedido de
procesamiento del archivo y retornará un número de ticket con el cual se podrá consultar
el resultado del proceso.
El archivo a enviar debe tener formato txt y cumplir con la estructura definida. Las
estructuras se encuentran en los Anexos VI, VII y VIII.
Para efectos del envío, el archivo txt debe comprimirse y enviarse con el mismo nombre
del archivo txt, pero con extensión .zip.
Debe calcularse el hash del archivo txt haciendo uso del algoritmo SHA-256, el cual será
enviado como parámetro de entrada.
Parámetros de entrada
Request FormData
Parámetros Descripcion Formato Tipo dato
de Entrada
archivo Archivo plano Binario File
El nombre del archivo debe cumplir con el siguiente formato:
“99999999999-TTT-AAAAMMDD-99.txt” donde:
• 99999999999: Número de RUC del contribuyente (Adquirente) que
da la conformidad/disconformidad
• TTT: Identificador de archivo
- PND: Identifica a comprobantes en estado Pendiente
- PNR: Identifica a comprobantes en estado Pendiente por reinicio
- SUB: Identifica a comprobantes en estado Subsanado
- DIS: Identifica a comprobantes en estado Disconforme
Parámetros de retorno
Response Header
15
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Parámetros valor
HTTP status 200
Content-Type application/json
Response Body
Parámetros Descripcion Formato Tipo dato
de Salida
numTicket El formato del número de ticket de respuesta es: Alfanumérico String
“AAAA99999999” donde:
• AAAA: Año actual
• 99999999: Número correlativo de envío, inicia en 1 por año,
completar con ceros a la izquierda para completar los 8 dígitos.
Consideraciones
El proceso de recepción del archivo con los comprobantes realiza una serie de
verificaciones previos a su aceptación. En caso de existir comprobantes con algún tipo de
inconsistencia, estos no serán cargados a la plataforma y serán reportados en un archivo
de errores, el cual será enviado como parte de la respuesta de este servicio. El archivo
retornará en un campo codificado en base 64.
El nombre del archivo de errores es el mismo que el enviado, pero con el prefijo
“_ERROR”
Ejemplo:
Archivo txt enviado : 20433901128-PND-20200908-99.txt
Archivo txt con comprobantes con error : 20433901128-PND-20200908-99_ERROR.txt
La estructura del archivo es la misma que el archivo enviado, pero incluirá una columna
adicional con los códigos y descripción del error detectado. En caso se detecte más de un
error, estos irán separados por una coma.
Los estados 01 y 02 indican que todavía se encuentra en proceso la recepción del archivo,
y los estados 03 y 04 indican que el proceso ha concluido.
16
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Parámetros de entrada
Request URI
Parámetros de Entrada Descripción Formato Tipo dato
numTicket Número de ticket Alfanumérico String
Parámetros de retorno
Response Header
Parámetros valor
HTTP status 200
Content-Type application/json
Response Body
17
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
"cntRegistrosCpe": 100,
"cntRegistrosCorrectos": 80,
"cntRegistrosErrores": 20,
"arcErrores": "9021jddkk190902100kksdajdnc "
}
Consideraciones
Los tipos de archivos que se pueden cargar son: pdf, doc, docx, xls, xlsx, ppt, pptx, jpg,
jpeg o txt
Se debe enviar los datos de identificación del comprobante: Ruc emisor, tipo de
comprobante, serie y número del comprobante. Un documento puede servir de sustento
de disconformidad de más de un comprobante, de ser el caso se enviarán las
identificaciones de todos los comprobantes involucrados en un Json.
En caso no haya errores en la petición, el servicio responderá con un código 200 y no
mostrará ningún detalle adicional.
El tamaño máximo del sustento será de 5 MB.
Parámetros de entrada
Request FormData
Parámetros de Entrada Descripcion Formato Tipo dato
archivo Archivo de sustento Binario File
comprobantes Archivo de json Json Text
Ejemplo de la estructura json:
[
{
"numRuc": "20145236524",
"codCpe": "01",
"numSerie": "E001",
"numCpe": 81
},
{
"numRuc": "20145236524",
"codCpe": "02",
"numSerie": "E002",
"numCpe": 90
18
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
}
]
Parámetros de retorno
Response Header
Parámetros valor
HTTP status 200
Content-Type application/json
19
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
ANEXOS
I. Relación de errores generales
400 Bad Request - El Request no puede ser entendido por el Servidor debido a errores de Sintaxis, El
cliente no debe repetir el Request sin modificaciones
405 Not Allowed - El Método HTTP utilizado en el Request no es soportado por el Recurso
406 Not Acceptable - El Recurso no puede responder al Cliente en el Media Type solicitado en el
Request
415 Unsupported Media Type - La Entidad en el Body del Request está en un Media Type que no es
soportado por el Recurso
422 Unprocessable Entity - Se presentaron errores de validacion que impidieron completar el Request
500 Internal Server Error - Se presento una condición inesperada que impidió completar el Request
503 Service Unavailable - El Servidor no está disponible temporalmente o está muy ocupado para
responder al Request
20
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
fecInicio Fecha de Emisión/Puesta a disposición de inicio no puede ser NN1 - Fecha de Emisión/Puesta a
mayor a la fecha de Emisión/Puesta a disposición fin disposición de inicio no puede ser
mayor a la fecha de Emisión/Puesta a
disposición fin
fecFin No existe el campo o es vacío. 152 - Fecha de Emisión/Puesta a
disposición fin del comprobante no
enviado o es vacío.
fecFin Debe cumplir con el siguiente formato “AAAA-MM-DD”. 153 - Formato de fecha de
emisión/Puesta a disposición fin no
permitido o no válido
fecFin Fecha de Emisión/Puesta a disposición fin no puede ser menor NN2 - Fecha de Emisión/Puesta a
a la fecha de Emisión/Puesta a disposición de inicio disposición fin no puede ser menor a
la fecha de Emisión/Puesta a
disposición de inicio
fecInicio/ Rango máximo de consulta es 15 días NN3 - Rango máximo de consulta es
fecFin 15 días
codEstado No existe el campo o es vacío. 115 - Código de estado de la condición
no enviado o es vacío.
Solo se permite: 116 - Código de estado de la condición
Cuando se trata de indTipoPedido = “C: Compras” no permitido.
01: PENDIENTE
03: SUBSANADO
06: PENDIENTE POR REINICIO
Cuando se trata de indTipoPedido = “V: Ventas”
02: DISCONFORME
numRegPag Dato numérico, mayor a cero. Solo se permite: 50 o 100 186 - Número de registros por página
tiene dato o formato no válido, solo
se permite dato numérico.
indTipoPedido No existe el campo o es vacío. 192 - Indicador de tipo de pedido no
enviado o es vacío.
21
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
Debe existir consistencia entre el número de RUC del nombre 184 - Error con el nombre del archivo,
del archivo y el número de RUC del contribuyente autenticado el número de RUC del archivo no
en el sistema. corresponde con el número de RUC
del contribuyente.
Identificador del archivo (TTT) no valido, solo se permite “PND”,
190 - Error con el nombre del archivo,
“PNR”, “SUB”, “DIS” según sea el caso.
el identificador del archivo debe ser
<<identificador del archivo>>.
La fecha de envío del archivo debe tener el formato 185 - Error con el nombre del archivo,
“AAAAMMDD” y debe ser una fecha valida. la fecha de envío no corresponde a
una fecha valida.
La fecha de envío del archivo debe corresponder a la fecha 186 - Error con el nombre del archivo,
actual. la fecha de envío debe ser igual a la
fecha actual.
El número correlativo de envío debe ser un dato numérico 187 - Error con el nombre del archivo,
entre 1 y hasta 2 caracteres. el número correlativo del archivo debe
ser numérico y debe tener entre 1 y
hasta 2 caracteres.
No debe enviar un archivo duplicado con el mismo nombre. 195 - El archivo <nombre del archivo
txt> fue previamente enviado.
El archivo TXT enviado, debe ser mayor a 0 bytes. 191 - El archivo <nombre del archivo
txt> debe ser mayor a 0 bytes.
valHash Valor hash no enviado. 193 - Se debe enviar el hash del
archivo.
El valor Hash no coincide con el archivo enviado 194 - El valor Hash no coincide con el
archivo enviado.
22
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
detiene el proceso.
El tamaño máximo del archivo que se desea cargar es de 5 Mb 202 - El sistema muestra el siguiente
mensaje: “El tamaño máximo del
archivo no debe superar a 5 Mb”, y se
detiene el proceso.
El archivo enviado, debe ser mayor a 0 bytes 203 - El sistema muestra el siguiente
mensaje: “El archivo enviado debe ser
mayor a 0 bytes”, y se detiene el
proceso.
numRucCpe Es diferente a numérico de 11 dígitos. 101 - Solo se permite dato numérico de
11 dígitos para el número de RUC.
codCpe Código de tipo de comprobante, solo se permite: 103 - Código de comprobante no
01 Factura electrónica permitido o no valido.
02 Recibo por Honorarios electrónico
numSerieCpe Número de serie del comprobante , Solo se permite: 105 - Número de serie del
E001 Serie de facturas y recibos por honorarios comprobante no permitido o no valido.
F### Serie de facturas
numCpe Dato numérico de 1 a 8 dígitos 107 - Número de comprobante tiene
tipo de dato o formato no valido. Solo
se permite dato numérico de 1 hasta 8
dígitos.
No existe el comprobante electrónico solicitado. No existe el 108 - El Comprobante no existe.
comprobante electrónico solicitado.
Solo en caso de encontrar el comprobante seguir con las demás
“Validaciones del comprobante”.
23
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
1 2 3 4 5 6 7
NUM RUC COD NUM NUM CPE CONDICION: MOTIVOS: DEL SUSTENTO DE
CPE SERIE 1: CONFIRMIDAD 1 AL 3 DISCONFORMIDAD
CPE 2: DISCONFORMIDAD
24
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
1 2 3 4 5 6
Camp
o Longitud Descripción Formato Comentarios/Observaciones
25
PLATAFORMA DE CONFORMIDAD DE COMPROBANTES – SERVICIOS WEB
1 2 3 4 5 6 7 8 9 10
NUM RUC COD NUM NUM CONDICION: TIPO DE SERIE DE NUMERO DE MOTIVOS COMENTARIO
CPE SERIE CPE 1: SUBSANAR COMP. COMP. COMP. QUE
CPE 2: ATENDER SUSTENTO DE SUSTENTO DE SUSTENTO DE SUSTENTA
SUBSANACION SUBSANACION SUBSANACION
COMENTARIO
20433901127 01 E001 255 1 07 F001 345 1,2 1
COMENTARIO
20433901127 01 E001 255 1 07 F001 346 3 2
26