Comando emitir
Genera un nuevo comprobante de pago electrónico, ya sea factura, boleta, o sus notas correspondientes.
Parámetros generales
codigo_establecimiento
Opcional. Numérico. Código del establecimiento asignado por la SUNAT del establecimiento donde se está realizando la venta de bienes.
Si la venta se realiza en el domicilio fiscal, o si no puede determinarse el lugar de la venta, consignar "0".
Si se omite, se usará el código "0".
tipo
Requerido. 1 carácter. Define el tipo de comprobante a generar:
f
: Facturab
: Boleta de ventac
: Nota de créditod
: Nota de débito
tipo_operacion
Opcional. Numérico. Para facturas y boletas, código de la operación que realiza esta venta. Los valores pueden ser:
101
: Venta interna102
: Exportación103
: No domicilados104
: Venta interna – anticipos105
: Venta itinerante106
: Factura guía107
: Venta arroz pilado108
: Factura comprobante de percepción110
: Factura - guía remitente
Si se omite, se usará el código 101 (Venta interna)
serie
Requerido. 4 caracteres. Serie del documento. Debe empezar con F
para facturas y sus notas, y con B
para las boletas de venta y sus notas.
correlativo
Requerido. Numérico, hasta 8 dígitos. Número correlativo del documento. Los ceros a la izquierda serán removidos.
tipo_doc
Requerido. Un carácter. Tipo de documento del receptor del comprobante:
r
: RUCd
: DNIx
: Carné de extranjeríap
: Pasaportec
: Cédula diplomátican
: No domiciliado sin RUC-
: No especificado, sólo usado en boletas que no requieran documento de identidad.
numero_doc
Requerido. Hasta 14 caracteres. Número del documento de identidad del receptor del comprobante. Para boletas que no requieran, se puede consignar un guión ("-").
razon_social
Requerido. Hasta 100 caracteres. Nombre completo o razón social del receptor del comprobante. Para boletas que no requieran, se puede consignar tres guiones ("---").
direccion
Opcional. Hasta 100 caracteres. Dirección fiscal del receptor del comprobante. Para boletas que no requieran, se puede consignar un guión ("-").
fecha
Requerido. Fecha de emisión del comprobante, en formato YYYY-MM-DD. Es recomendable no usar una fecha en el pasado. A pesar que la Resolución de Superintendencia 000003-2023/SUNAT da un plazo de 3 días siguientes a esta fecha para enviar el comprobante, pueden suceder eventos que retrasen este envío incluso por más de un día (e.g. los servidores de la SUNAT no responden).
hora
Opcional. Hora de emisión del comprobante. Debe consignarse en formato 24 horas, y puede omitirse los segundos (en tal caso, se usará 0 segundos). Se aceptan 3 formatos:
HH:MM
- Sin segundosHH:MM:SS
- Con segundosHH:MM:SS.SSSS
- Con segundos y microsegundos
De omitirse, se usará la hora cuando el comprobante es recibido por la API.
fecha_vencimiento
Opcional. Fecha de vencimiento del comprobante, en formato YYYY-MM-DD.
orden_compra
Opcional, cadena de hasta 20 caracteres. Número de la orden de compra relacionada a este comprobante.
moneda
Requerido. 3 caracteres. Denominación ISO4217 de la moneda del comprobante. E.g. 'PEN' para Soles Peruanos, o 'USD' para Dólar Estadounidense.
observaciones
Texto libre que será añadido en la representación impresa. Para separar líneas, debes usar el carácter pleca (“|
")
tasa_igv
Opcional, entero. Tasa (porcentaje) del IGV que será consignado a todos los ítems de este comprobante. Si se omite, se usará el valor legal vigente (actualmente 18
). Cada ítem puede cambiar su tasa del IGV individualmente usando el parámetro tasa_igv
de la colección ítem.
leyenda
Opcional, colección. Para facturas o boletas, mensajes que deben formar parte del comprobante de pago, acorde con lo regulado por el Reglamento de comprobantes de pago u otras disposiciones, que buscan diferenciar operaciones y/o agregar información complementaria al documento.
También puedes usar el nombre leyendas
para esta colección.
Mira la documentación de la colección de leyendas.
Descuento global
El descuento global se puede especificar de dos formas:
- Implícitamente, usando la propiedad
porcentaje_descuento_global
, donde los totales son calculados internamente, o - Explícitamente, usando la propiedad
descuento_global
, donde los totales ya deben tener reflejado el descuento.
porcentaje_descuento_global
Opcional, entero. Porcentaje de descuento que será aplicado a los totales de la venta. Este parámetro tiene precedencia sobre el parámetro descuento_global
, que será sobrescrito con el valor calculados.
Para tener un control exacto de los totales con un descuento global, es mejor usar el parámetro descuento_global
.
descuento_global
Opcional, numérico. Descuento global que ha sido aplicado al total del comprobante. Este descuento es distinto al que pueda ser aplicado a cada ítem del mismo.
Los valores de total_gravado
, total_inafecto
, total_exonerado
y total_igv
ya deben reflejar este descuento global aplicado.
Notas de crédito o débito
Estos valores son requeridos solo cuando el valor de tipo
es c
o d
.
tipo_nota
Requerido. Numérico. Motivo por el cual se está creando la nota:
Para notas de crédito:
-
1
: Anulación de la operación -
2
: Anulación por error en el RUC -
3
: Corrección por error en la descripción -
4
: Descuento global -
5
: Descuento por item -
6
: Devolución total -
7
: Devolución parcial -
8
: Bonificación -
9
: Disminución en el valor -
10
: Otros conceptos -
11
: Ajustes de operaciones de exportación -
12
: Ajustes afectos al IVAP -
13
: Corrección del monto neto pendiente de pago y/o la(s) fechas(s) de vencimiento del pago único o de las cuotas y/o los montos correspondientes a cada cuota, de ser el caso.
Para notas de débito:
1
: Intereses por mora2
: Aumento de valor3
: Penalidades / otros conceptos10
: Ajustes de operación de exportación11
: Ajustes afectos al IVAP
documento_modificado
Requerido. Máximo 13 caracteres. Serie y número correlativo (incluyendo el guión) de la factura o boleta afectada por la nota.
motivo_emision
Requerido. Cadena de caracteres. motivo o sustento de emisión de la nota, explicación que debe ser acorde con el tipo de nota emitida.
Forma de pago y cuotas
forma_pago
Opcional, 7 caracteres, sólo para facturas y sus notas. Forma cómo será abonado el total del comprobante. Puede tener dos valores: contado
o credito
(también se acepta crédito
, con tilde).
Si se omite, se usará el valor contado
.
monto_pendiente
Opcional, decimal. Para facturas y sus notas con el parámetro tipo_pago
con valor credito
, monto neto pendiente de pago, el cual será fraccionado en una o más cuotas.
cuota
Opcional, colección, sólo para facturas y sus notas. Información sobre cada cuota de pago del monto_pendiente
. También puedes usar el nombre cuotas
para este parámetro.
La documentación de cada cuota puedes revisarla en su documentación.
Detracción
porcentaje_detraccion
Opcional, entero. Porcentaje de detracción aplicado al total del comprobante.
monto_detraccion
Obligatorio si porcentaje_detraccion
tiene un valor mayor a cero. Decimal. Monto total de la detracción.
codigo_detraccion
Obligatorio si porcentaje_detraccion
tiene un valor mayor a cero. Entero. Código del bien o servicio afectado por la detracción, como detalla el Catálogo No. 54: Códigos de bienes y servicios sujetos a detracción.
forma_pago_detraccion
Opcional, entero. Código de la forma de pago de la detracción, según indica el Catálogo No. 59: Medios de Pago. De omitirse y porcentaje_detracción
es mayor a cero, se usará el valor '001' ('Depósito en cuenta').
Totales
Si se omiten, los totales se calculan desde los ítems.
total_gravado
Opcional, numérico. Suma de los valores de los items gravados con el IGV. Incluye descuentos globales.
total_inafecto
Opcional, numérico. Suma de los valores de los items inafectos del IGV. Incluye descuentos globales.
total_exonerado
Opcional, numérico. Suma de los valores de los items exonerados del IGV. Incluye descuentos globales.
total_gratuito
Opcional, numérico. Suma de los precios de referencia de items gratuitos.
total_igv
Opcional. numérico. Total de la suma del impuesto general a las ventas de todos los items gravados.
Opciones de pos proceso
recibir_codigo_barras
Opcional, cadena de caracteres. Añade el valor de retorno codigo_barras
a la respuesta de la API con una imágen PNG codificada en Base64 del código de barras 2D solicitado.
Al 9 de marzo del 2018, el único valor aceptado para este parámetro es qr
. También se puede usar como valor la palabra legal
, que devuelve el código de barras legalmente requerido a la fecha.
recibir_valor_firma
Opcional. booleano. Añade el valor de retorno valor_firma
a la respuesta de la API. Solía usarse para generar el código de barras, pero ahora se usa el valor resumen.
recibir_enlaces
Opcional, booleano. Añade los valores de retorno xml
, cdr
y pdf
a la respuesta de la API con los enlaces para descargar el XML, la constancia de recepción y el PDF con la representación impresa, respectivamente.
enviar_correo
Opcional, colección. Envía un correo electrónico con el comprobante a todas las direcciones especificadas en esta propiedad.
Mira la documentación de la colección de destinatarios de correo.
Definición de ítems (líneas) del CPE
item
Requerido. Colección de los ítems que componen este comprobante. También puedes usar el nombre items
para esta colección.
La documentación de los ítems puedes revisarla en su documentación.
Variables de retorno
codigo_descarga
Código que será usado para formar la URI de descarga de los documentos. Puedes obtener más información en esta nota.
codigo_documento
Código del comprobante, en formato ruc-tipo-serie-numero
. 'Tipo' es el tipo de documento según la SUNAT. E.g.: 01 es factura, 03 es boleta. El valor de esta variable puedes usarla para generar la URI de descarga de los documentos del CPE emitido.
valor_resumen
Cadena obtenida desde el elemento <ds:DigestValue>
del XML del comprobante. Usado para generar el código de barras en la representación impresa.
xml
Sólo aparece si el parámetro recibir_enlaces
está activa. URL de descarga del XML del CPE.
cdr
Sólo aparece si el parámetro recibir_enlaces
está activa. URL de descarga del XML del comprobante de recepción.
pdf
Sólo aparece si el parámetro recibir_enlaces
está activa. URL de descarga del PDF con la representación impresa del comprobante.
valor_firma
Sólo aparece si la propieda recibir_valor_firma
está activa. Cadena obtenida desde el elemento <ds:SignatureValue>
del XML del CPE. Solía ser usado para genera el código de barras en la representación impresa, pero ahora se usa el valor de valor_resumen
.
codigo_barras
Sólo aparece si la propieda recibir_codigo_barras
fue especificada. Contiene una imágen PNG codificada en Base64 con el código de barras solicitado.
Variables de retorno extra en modo de prueba
Estas variables de retorno son añadidas en modo prueba a la respuesta. No son incluidas en la respuesta en modo producción.
sunat_respuesta
Código de respuesta del servidor de pruebas de la SUNAT al recibir el CPE. Un valor 0
quiere decir que fue recibido sin problemas.
sunat_descripcion
Descripción textual del código de respuesta de la SUNAT.
sunat_observaciones
Colección de observaciones de la SUNAT sobre el CPE recibido, si es que existen.