Ir al contenido

Comprobantes

Emitir una factura

POST/v1/invoices

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • seriestextoobligatorio
  • paymentobjetoopcional

    por defecto {"type":"cash"}

    Cuando type: "cash"

    • type"cash"obligatorio

    Cuando type: "credit"

    • type"credit"obligatorio
    • installmentslista de objetosobligatorio

      de 1 a 100 elementos

      • amounttexto o númeroobligatorio
      • due_datetextoobligatorio

        formato date

  • detractionobjetoopcional
    • code"001" · "002" · "003" · "005" · "007" · "008" · "009" · "010" · "011" · "012" · "013" · "014" · "015" · "016" · "017" · "019" · "020" · "021" · "022" · "023" · "024" · "025" · "026" · "030" · "031" · "032" · "034" · "035" · "036" · "037" · "038" · "039" · "040" · "041" · "042" · "043" · "044" · "045" · "046" · "047" · "099"obligatorio

      Bien o servicio, catálogo 54 de SUNAT.

    • percenttexto o númeroobligatorio

      Porcentaje de la detracción. SUNAT no lo valida: acertarlo es responsabilidad del emisor.

    • amounttexto o númeroopcional

      En soles. Se calcula de percent y del total cuando el comprobante está en PEN.

    • accounttextoobligatorio

      Cuenta del emisor en el Banco de la Nación.

      de 1 a 100 caracteres

    • payment_method"101" · "102" · "103" · "104" · "105" · "106" · "107" · "108" · "999" · "001" · "002" · "003" · "004" · "005" · "006" · "007" · "008" · "009" · "010" · "011" · "012" · "013"opcional

      Catálogo 59 de SUNAT.

      por defecto "001"

  • due_datetextoopcional

    formato date

  • operation_type"1001" · "2001" · "0101" · "0200"opcional

    Catálogo 51 de SUNAT. Omítelo: se deduce del contenido del comprobante.

  • purchase_ordertextoopcional
  • despatch_referenceslista de objetosopcional

    Guías de remisión con las que viajó la venta.

    hasta 50 elementos

    • type"31" · "09"opcional

      Catálogo 01 de SUNAT: 09 remitente, 31 transportista.

      por defecto "09"

    • seriestextoobligatorio
    • numberenteroobligatorio

      hasta 99999999 · mayor que 0

  • discountobjetoopcional

    Descuento sobre todo el comprobante. Un monto que rebaja la base es un valor sin impuestos.

    • amounttexto o númeroopcional

      Importe: hasta 2 decimales.

    • percenttexto o númeroopcional

      Porcentaje, p. ej. 10 para 10 %.

    • affects_basebooleanoopcional

      true rebaja la base imponible (catálogo 53 de SUNAT: 00 en una línea, 02 en el comprobante); false, solo lo que se paga (01, 03).

      por defecto true

  • prepaymentslista de objetosopcional

    Pagos anteriores, ya facturados, que este comprobante aplica.

    hasta 99 elementos

    • documentobjetoobligatorio

      La factura o boleta que se emitió por el anticipo.

      • type"01" · "03"obligatorio
      • seriestextoobligatorio
      • numberenteroobligatorio

        hasta 99999999 · mayor que 0

    • amounttexto o númeroobligatorio

      Lo que se pagó, con impuestos.

    • datetextoopcional

      formato date

    • issuer_ructextoopcional

      RUC de quien emitió ese comprobante; la propia empresa si no se indica.

    • tax_affectation"10" · "20" · "30"opcional

      A qué correspondía el anticipo: 10 gravado, 20 exonerado, 30 inafecto. Solo hace falta cuando el comprobante tiene más de una de esas operaciones.

  • perceptionobjetoopcional
    • code"51" · "52" · "53"obligatorio

      Catálogo 53 de SUNAT: 51 venta interna (2 %), 52 combustible (1 %), 53 tasa especial (0.5 %).

    • ratetexto o númeroopcional

      Porcentaje; el del código si no se indica.

  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Por defecto, hoy en Lima.

    formato date

  • issue_timetextoopcional
  • currencytextoopcional

    ISO 4217 (catálogo 02 de SUNAT).

    por defecto "PEN"

  • customerobjetoobligatorio
    • document_typetextoopcional

      Documento de identidad del cliente, catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte, "0" ninguno. Una factura exige "6", salvo que sea una exportación. Omítelo cuando document_number es un RUC: entonces es "6".

    • document_numbertextoobligatorio

      Número de ese documento: 11 dígitos para un RUC, 8 para un DNI; "-" con document_type "0".

      de 1 a 15 caracteres

    • nametextoobligatorio

      Nombre o razón social.

      de 1 a 1500 caracteres

    • addresstextoopcional

      Dirección del cliente.

      hasta 200 caracteres

    • country_codetextoopcional

      Código ISO 3166-1 alfa-2 del país del cliente, p. ej. "US"; para clientes del exterior.

    • emailtextoopcional

      A dónde envía auto_email el comprobante cuando SUNAT lo acepta.

      hasta 254 caracteres · formato email

  • itemslista de objetosobligatorio

    de 1 a 1000 elementos

    • descriptiontextoobligatorio

      de 1 a 500 caracteres

    • quantitytexto o númeroobligatorio
    • unit_pricetexto o númeroobligatorio

      En una operación gratuita, el valor referencial de la unidad, sin impuestos.

    • price_includes_taxbooleanoopcional

      Si unit_price ya incluye el IGV (y el ISC). El ICBPER siempre se suma aparte.

      por defecto false

    • unit_codetextoopcional

      Catálogo 03 de SUNAT: un código que no está en él lo rechaza SUNAT (2936).

      por defecto "NIU"

    • codetextoopcional

      hasta 30 caracteres

    • tax_affectation"10" · "11" · "12" · "13" · "14" · "15" · "16" · "17" · "20" · "21" · "30" · "31" · "32" · "33" · "34" · "35" · "36" · "37" · "40"opcional

      Catálogo 07 de SUNAT. 10, 20 y 30 son ventas; 40, una exportación; 17, el IVAP; 11 a 16, 21 y 31 a 37, operaciones gratuitas.

      por defecto "10"

    • discountobjetoopcional

      Descuento de la línea. Con price_includes_tax, un monto que rebaja la base se lee como el precio: con impuestos.

      • amounttexto o númeroopcional

        Importe: hasta 2 decimales.

      • percenttexto o númeroopcional

        Porcentaje, p. ej. 10 para 10 %.

      • affects_basebooleanoopcional

        true rebaja la base imponible (catálogo 53 de SUNAT: 00 en una línea, 02 en el comprobante); false, solo lo que se paga (01, 03).

        por defecto true

    • iscobjetoopcional
      • ratetexto o númeroobligatorio

        Porcentaje que se aplica al valor de la línea.

    • icbperbooleanoopcional

      La línea vende bolsas de plástico afectas al ICBPER; su cantidad es el número de bolsas.

  • observationstextoopcional

    Texto libre que se imprime en el comprobante.

    de 1 a 200 caracteres

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Emitir una boleta

POST/v1/receipts

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • seriestextoobligatorio
  • detractionnullopcional
  • due_datetextoopcional

    formato date

  • operation_type"1001" · "2001" · "0101" · "0200"opcional

    Catálogo 51 de SUNAT. Omítelo: se deduce del contenido del comprobante.

  • purchase_ordertextoopcional
  • despatch_referenceslista de objetosopcional

    Guías de remisión con las que viajó la venta.

    hasta 50 elementos

    • type"31" · "09"opcional

      Catálogo 01 de SUNAT: 09 remitente, 31 transportista.

      por defecto "09"

    • seriestextoobligatorio
    • numberenteroobligatorio

      hasta 99999999 · mayor que 0

  • discountobjetoopcional

    Descuento sobre todo el comprobante. Un monto que rebaja la base es un valor sin impuestos.

    • amounttexto o númeroopcional

      Importe: hasta 2 decimales.

    • percenttexto o númeroopcional

      Porcentaje, p. ej. 10 para 10 %.

    • affects_basebooleanoopcional

      true rebaja la base imponible (catálogo 53 de SUNAT: 00 en una línea, 02 en el comprobante); false, solo lo que se paga (01, 03).

      por defecto true

  • prepaymentslista de objetosopcional

    Pagos anteriores, ya facturados, que este comprobante aplica.

    hasta 99 elementos

    • documentobjetoobligatorio

      La factura o boleta que se emitió por el anticipo.

      • type"01" · "03"obligatorio
      • seriestextoobligatorio
      • numberenteroobligatorio

        hasta 99999999 · mayor que 0

    • amounttexto o númeroobligatorio

      Lo que se pagó, con impuestos.

    • datetextoopcional

      formato date

    • issuer_ructextoopcional

      RUC de quien emitió ese comprobante; la propia empresa si no se indica.

    • tax_affectation"10" · "20" · "30"opcional

      A qué correspondía el anticipo: 10 gravado, 20 exonerado, 30 inafecto. Solo hace falta cuando el comprobante tiene más de una de esas operaciones.

  • perceptionobjetoopcional
    • code"51" · "52" · "53"obligatorio

      Catálogo 53 de SUNAT: 51 venta interna (2 %), 52 combustible (1 %), 53 tasa especial (0.5 %).

    • ratetexto o númeroopcional

      Porcentaje; el del código si no se indica.

  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Por defecto, hoy en Lima.

    formato date

  • issue_timetextoopcional
  • currencytextoopcional

    ISO 4217 (catálogo 02 de SUNAT).

    por defecto "PEN"

  • customerobjetoopcional

    Omítelo en una venta a un comprador que no se identificó: la boleta se emite a "CLIENTES VARIOS" (tipo de documento "0", número "-"). Solo en soles y hasta S/ 700; por encima, o en otra moneda, hay que indicar al comprador.

    • document_typetextoopcional

      Documento de identidad del cliente, catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte, "0" ninguno. Una factura exige "6", salvo que sea una exportación. Omítelo cuando document_number es un RUC: entonces es "6".

    • document_numbertextoobligatorio

      Número de ese documento: 11 dígitos para un RUC, 8 para un DNI; "-" con document_type "0".

      de 1 a 15 caracteres

    • nametextoobligatorio

      Nombre o razón social.

      de 1 a 1500 caracteres

    • addresstextoopcional

      Dirección del cliente.

      hasta 200 caracteres

    • country_codetextoopcional

      Código ISO 3166-1 alfa-2 del país del cliente, p. ej. "US"; para clientes del exterior.

    • emailtextoopcional

      A dónde envía auto_email el comprobante cuando SUNAT lo acepta.

      hasta 254 caracteres · formato email

  • itemslista de objetosobligatorio

    de 1 a 1000 elementos

    • descriptiontextoobligatorio

      de 1 a 500 caracteres

    • quantitytexto o númeroobligatorio
    • unit_pricetexto o númeroobligatorio

      En una operación gratuita, el valor referencial de la unidad, sin impuestos.

    • price_includes_taxbooleanoopcional

      Si unit_price ya incluye el IGV (y el ISC). El ICBPER siempre se suma aparte.

      por defecto false

    • unit_codetextoopcional

      Catálogo 03 de SUNAT: un código que no está en él lo rechaza SUNAT (2936).

      por defecto "NIU"

    • codetextoopcional

      hasta 30 caracteres

    • tax_affectation"10" · "11" · "12" · "13" · "14" · "15" · "16" · "17" · "20" · "21" · "30" · "31" · "32" · "33" · "34" · "35" · "36" · "37" · "40"opcional

      Catálogo 07 de SUNAT. 10, 20 y 30 son ventas; 40, una exportación; 17, el IVAP; 11 a 16, 21 y 31 a 37, operaciones gratuitas.

      por defecto "10"

    • discountobjetoopcional

      Descuento de la línea. Con price_includes_tax, un monto que rebaja la base se lee como el precio: con impuestos.

      • amounttexto o númeroopcional

        Importe: hasta 2 decimales.

      • percenttexto o númeroopcional

        Porcentaje, p. ej. 10 para 10 %.

      • affects_basebooleanoopcional

        true rebaja la base imponible (catálogo 53 de SUNAT: 00 en una línea, 02 en el comprobante); false, solo lo que se paga (01, 03).

        por defecto true

    • iscobjetoopcional
      • ratetexto o númeroobligatorio

        Porcentaje que se aplica al valor de la línea.

    • icbperbooleanoopcional

      La línea vende bolsas de plástico afectas al ICBPER; su cantidad es el número de bolsas.

  • observationstextoopcional

    Texto libre que se imprime en el comprobante.

    de 1 a 200 caracteres

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Emitir una nota de crédito

POST/v1/credit_notes

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • seriestextoobligatorio
  • reason_codetextoobligatorio

    Motivo de la nota, un código del catálogo 09 de SUNAT: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13.

  • reason_descriptiontextoobligatorio

    de 1 a 500 caracteres

  • affected_documentobjetoobligatorio
    • type"01" · "03"opcional

      01 factura o 03 boleta. Omítelo: la serie ya lo dice.

    • seriestextoobligatorio
    • numberenteroobligatorio

      hasta 99999999 · mayor que 0

  • discountnullopcional
  • detractionnullopcional
  • prepaymentsnullopcional
  • perceptionnullopcional
  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Por defecto, hoy en Lima.

    formato date

  • issue_timetextoopcional
  • currencytextoopcional

    ISO 4217 (catálogo 02 de SUNAT).

    por defecto "PEN"

  • customerobjetoobligatorio
    • document_typetextoopcional

      Documento de identidad del cliente, catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte, "0" ninguno. Una factura exige "6", salvo que sea una exportación. Omítelo cuando document_number es un RUC: entonces es "6".

    • document_numbertextoobligatorio

      Número de ese documento: 11 dígitos para un RUC, 8 para un DNI; "-" con document_type "0".

      de 1 a 15 caracteres

    • nametextoobligatorio

      Nombre o razón social.

      de 1 a 1500 caracteres

    • addresstextoopcional

      Dirección del cliente.

      hasta 200 caracteres

    • country_codetextoopcional

      Código ISO 3166-1 alfa-2 del país del cliente, p. ej. "US"; para clientes del exterior.

    • emailtextoopcional

      A dónde envía auto_email el comprobante cuando SUNAT lo acepta.

      hasta 254 caracteres · formato email

  • itemslista de objetosobligatorio

    de 1 a 1000 elementos

    • descriptiontextoobligatorio

      de 1 a 500 caracteres

    • quantitytexto o númeroobligatorio
    • unit_pricetexto o númeroobligatorio

      En una operación gratuita, el valor referencial de la unidad, sin impuestos.

    • price_includes_taxbooleanoopcional

      Si unit_price ya incluye el IGV (y el ISC). El ICBPER siempre se suma aparte.

      por defecto false

    • unit_codetextoopcional

      Catálogo 03 de SUNAT: un código que no está en él lo rechaza SUNAT (2936).

      por defecto "NIU"

    • codetextoopcional

      hasta 30 caracteres

    • tax_affectation"10" · "11" · "12" · "13" · "14" · "15" · "16" · "17" · "20" · "21" · "30" · "31" · "32" · "33" · "34" · "35" · "36" · "37" · "40"opcional

      Catálogo 07 de SUNAT. 10, 20 y 30 son ventas; 40, una exportación; 17, el IVAP; 11 a 16, 21 y 31 a 37, operaciones gratuitas.

      por defecto "10"

    • discountobjetoopcional

      Descuento de la línea. Con price_includes_tax, un monto que rebaja la base se lee como el precio: con impuestos.

      • amounttexto o númeroopcional

        Importe: hasta 2 decimales.

      • percenttexto o númeroopcional

        Porcentaje, p. ej. 10 para 10 %.

      • affects_basebooleanoopcional

        true rebaja la base imponible (catálogo 53 de SUNAT: 00 en una línea, 02 en el comprobante); false, solo lo que se paga (01, 03).

        por defecto true

    • iscobjetoopcional
      • ratetexto o númeroobligatorio

        Porcentaje que se aplica al valor de la línea.

    • icbperbooleanoopcional

      La línea vende bolsas de plástico afectas al ICBPER; su cantidad es el número de bolsas.

  • observationstextoopcional

    Texto libre que se imprime en el comprobante.

    de 1 a 200 caracteres

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Emitir una nota de débito

POST/v1/debit_notes

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • seriestextoobligatorio
  • reason_codetextoobligatorio

    Motivo de la nota, un código del catálogo 10 de SUNAT: 01, 02, 03, 11, 12, 13.

  • reason_descriptiontextoobligatorio

    de 1 a 500 caracteres

  • affected_documentobjetoobligatorio
    • type"01" · "03"opcional

      01 factura o 03 boleta. Omítelo: la serie ya lo dice.

    • seriestextoobligatorio
    • numberenteroobligatorio

      hasta 99999999 · mayor que 0

  • discountnullopcional
  • detractionnullopcional
  • prepaymentsnullopcional
  • perceptionnullopcional
  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Por defecto, hoy en Lima.

    formato date

  • issue_timetextoopcional
  • currencytextoopcional

    ISO 4217 (catálogo 02 de SUNAT).

    por defecto "PEN"

  • customerobjetoobligatorio
    • document_typetextoopcional

      Documento de identidad del cliente, catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte, "0" ninguno. Una factura exige "6", salvo que sea una exportación. Omítelo cuando document_number es un RUC: entonces es "6".

    • document_numbertextoobligatorio

      Número de ese documento: 11 dígitos para un RUC, 8 para un DNI; "-" con document_type "0".

      de 1 a 15 caracteres

    • nametextoobligatorio

      Nombre o razón social.

      de 1 a 1500 caracteres

    • addresstextoopcional

      Dirección del cliente.

      hasta 200 caracteres

    • country_codetextoopcional

      Código ISO 3166-1 alfa-2 del país del cliente, p. ej. "US"; para clientes del exterior.

    • emailtextoopcional

      A dónde envía auto_email el comprobante cuando SUNAT lo acepta.

      hasta 254 caracteres · formato email

  • itemslista de objetosobligatorio

    de 1 a 1000 elementos

    • descriptiontextoobligatorio

      de 1 a 500 caracteres

    • quantitytexto o númeroobligatorio
    • unit_pricetexto o númeroobligatorio

      En una operación gratuita, el valor referencial de la unidad, sin impuestos.

    • price_includes_taxbooleanoopcional

      Si unit_price ya incluye el IGV (y el ISC). El ICBPER siempre se suma aparte.

      por defecto false

    • unit_codetextoopcional

      Catálogo 03 de SUNAT: un código que no está en él lo rechaza SUNAT (2936).

      por defecto "NIU"

    • codetextoopcional

      hasta 30 caracteres

    • tax_affectation"10" · "11" · "12" · "13" · "14" · "15" · "16" · "17" · "20" · "21" · "30" · "31" · "32" · "33" · "34" · "35" · "36" · "37" · "40"opcional

      Catálogo 07 de SUNAT. 10, 20 y 30 son ventas; 40, una exportación; 17, el IVAP; 11 a 16, 21 y 31 a 37, operaciones gratuitas.

      por defecto "10"

    • discountobjetoopcional

      Descuento de la línea. Con price_includes_tax, un monto que rebaja la base se lee como el precio: con impuestos.

      • amounttexto o númeroopcional

        Importe: hasta 2 decimales.

      • percenttexto o númeroopcional

        Porcentaje, p. ej. 10 para 10 %.

      • affects_basebooleanoopcional

        true rebaja la base imponible (catálogo 53 de SUNAT: 00 en una línea, 02 en el comprobante); false, solo lo que se paga (01, 03).

        por defecto true

    • iscobjetoopcional
      • ratetexto o númeroobligatorio

        Porcentaje que se aplica al valor de la línea.

    • icbperbooleanoopcional

      La línea vende bolsas de plástico afectas al ICBPER; su cantidad es el número de bolsas.

  • observationstextoopcional

    Texto libre que se imprime en el comprobante.

    de 1 a 200 caracteres

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Listar comprobantes, del más nuevo al más antiguo

GET/v1/documents

Parámetros de consulta

  • limitenteroopcional

    Elementos por página: de 1 a 100; 25 si se omite.

    de 1 a 100 · por defecto 25

  • cursortextoopcional

    El next_cursor de la página anterior: el id del último elemento visto.

  • status"pending" · "accepted" · "observed" · "rejected" · "voided"opcional
  • type"20" · "31" · "40" · "01" · "03" · "07" · "08" · "09"opcional
  • seriestextoopcional

    Solo los comprobantes de esta serie, p. ej. F001.

  • numberenteroopcional

    Solo el comprobante con este número; con series, el comprobante F001-123.

    hasta 99999999 · mayor que 0

  • issue_date_fromtextoopcional

    Solo comprobantes emitidos en esta fecha (YYYY-MM-DD, Lima) o después.

    formato date

  • issue_date_totextoopcional

    Solo comprobantes emitidos en esta fecha o antes.

    formato date

Respuestas

  • 200Una página de comprobantes — objeto
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Consultar un comprobante

GET/v1/documents/{id}

Parámetros de la ruta

  • idtextoobligatorio

Respuestas

  • 200El comprobante — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 404No existe el recurso — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Descargar el XML firmado de un comprobante

GET/v1/documents/{id}/xml

El archivo UBL 2.1 que Emitay firmó y envió a SUNAT, byte por byte.

Parámetros de la ruta

  • idtextoobligatorio

Respuestas

  • 200El XML firmado — application/xml
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 404No existe el recurso — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Descargar el CDR de un comprobante

GET/v1/documents/{id}/cdr

La constancia de recepción con que respondió SUNAT, en el ZIP que envió. 404 con un detail mientras SUNAT no haya devuelto una.

Parámetros de la ruta

  • idtextoobligatorio

Respuestas

  • 200El CDR, en el ZIP tal como lo envió SUNAT — application/zip
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 404No existe el recurso — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Descargar el PDF de un comprobante

GET/v1/documents/{id}/pdf

La representación impresa, dibujada con el layout predeterminado de la empresa para el papel pedido: a4, salvo que format diga otro.

Parámetros de la ruta

  • idtextoobligatorio

Parámetros de consulta

  • format"a4" · "ticket80" · "ticket58"opcional

Respuestas

  • 200El PDF — application/pdf
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 404No existe el recurso — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Anular un comprobante

POST/v1/documents/{id}/void

Pide a SUNAT anular un comprobante que aceptó: comunicación de baja para una factura y sus notas, resumen diario para una boleta y sus notas, reversión para una retención o una percepción. La respuesta es el comprobante con void.status pending; el veredicto de SUNAT llega después como document.voided o document.void_failed.

Parámetros de la ruta

  • idtextoobligatorio

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

Cuerpo application/json

  • reasontextoobligatorio

    Motivo que se informa a SUNAT, que observa uno de menos de 3 caracteres (4203).

    de 3 a 100 caracteres

Respuestas

  • 200El comprobante, con su anulación a la espera de SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 404No existe el recurso — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Emitir una guía de remisión

POST/v1/despatch_advices

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • type"31" · "09"opcional

    09 remitente o 31 transportista. Omítelo: la serie ya lo dice.

  • seriestextoobligatorio

    T### para una 09, V### para una 31.

  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Hoy en Lima si no se indica. SUNAT recibe una guía emitida hoy o ayer.

    formato date

  • issue_timetextoopcional
  • observationstextoopcional

    de 1 a 250 caracteres

  • recipientobjetoobligatorio

    Destinatario. Es el customer del recurso del comprobante.

    • document_type"0" · "1" · "4" · "6" · "7" · "A" · "B" · "C" · "D" · "E" · "F" · "G"obligatorio

      Catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte…

    • document_numbertextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

    • emailtextoopcional

      hasta 254 caracteres · formato email

  • reason_code"13" · "14" · "17" · "18" · "19" · "01" · "02" · "03" · "04" · "05" · "06" · "07" · "08" · "09"opcional

    Catálogo 20 de SUNAT.

  • reason_descriptiontextoopcional

    Obligatoria con el motivo 13 (otros).

    de 3 a 100 caracteres

  • transport_mode"01" · "02"opcional

    Catálogo 18 de SUNAT: 01 público (se contrata un transportista), 02 privado (vehículo propio).

  • handover_datetextoopcional

    Fecha de entrega de los bienes al transportista, con transporte público.

    formato date

  • carrierobjetoopcional

    Transportista contratado para un transporte público.

    • ructextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

    • mtc_registrationtextoopcional

      Registro MTC del transportista.

      de 1 a 20 caracteres

  • packagesenteroopcional

    Número de bultos o pallets.

    hasta 9999999999999 · mayor que 0

  • light_vehiclebooleanoopcional

    Traslado en vehículos de categoría M1 o L.

  • registers_carrier_vehiclebooleanoopcional

    El remitente registra el vehículo y los conductores del transportista que contrató.

  • supplierobjetoopcional

    Proveedor, con los motivos 02, 07 y 13.

    • document_type"0" · "1" · "4" · "6" · "7" · "A" · "B" · "C" · "D" · "E" · "F" · "G"obligatorio

      Catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte…

    • document_numbertextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

  • buyerobjetoopcional

    Comprador, con los motivos 03 y 13.

    • document_type"0" · "1" · "4" · "6" · "7" · "A" · "B" · "C" · "D" · "E" · "F" · "G"obligatorio

      Catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte…

    • document_numbertextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

  • senderobjetoopcional

    Remitente.

    • document_type"0" · "1" · "4" · "6" · "7" · "A" · "B" · "C" · "D" · "E" · "F" · "G"obligatorio

      Catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte…

    • document_numbertextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

  • mtc_registrationtextoopcional

    Registro MTC del emisor.

    de 1 a 20 caracteres

  • freight_payer"sender" · "subcontractor" · "third_party"opcional

    Quién paga el flete.

  • subcontractorobjetoopcional

    Quién subcontrató el transporte al emisor.

    • ructextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

  • third_partyobjetoopcional

    El tercero que paga el flete.

    • document_type"0" · "1" · "4" · "6" · "7" · "A" · "B" · "C" · "D" · "E" · "F" · "G"obligatorio

      Catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte…

    • document_numbertextoobligatorio
    • nametextoobligatorio

      de 1 a 250 caracteres

  • start_datetextoopcional

    Fecha de inicio del traslado.

    formato date

  • gross_weighttexto o númeroobligatorio
  • weight_unit"KGM" · "TNE"opcional

    por defecto "KGM"

  • originobjetoobligatorio

    Punto de partida.

    • ubigeotextoobligatorio

      Código INEI del distrito (catálogo 13 de SUNAT).

    • addresstextoobligatorio

      de 3 a 500 caracteres

    • establishment_codetextoopcional

      Código de establecimiento anexo registrado en el RUC.

    • establishment_ructextoopcional

      RUC al que pertenece el establecimiento; Emitay lo completa cuando las reglas de SUNAT no dejan duda.

  • destinationobjetoopcional

    Punto de llegada.

    • ubigeotextoobligatorio

      Código INEI del distrito (catálogo 13 de SUNAT).

    • addresstextoobligatorio

      de 3 a 500 caracteres

    • establishment_codetextoopcional

      Código de establecimiento anexo registrado en el RUC.

    • establishment_ructextoopcional

      RUC al que pertenece el establecimiento; Emitay lo completa cuando las reglas de SUNAT no dejan duda.

  • vehicleslista de objetosopcional

    El primero es el vehículo principal; hasta dos más son secundarios.

    hasta 3 elementos · por defecto []

    • platetextoobligatorio
    • tuctextoopcional

      Tarjeta única de circulación o certificado de habilitación vehicular.

  • driverslista de objetosopcional

    El primero es el conductor principal; hasta dos más son secundarios.

    hasta 3 elementos · por defecto []

    • document_type"0" · "1" · "4" · "7" · "A" · "B" · "C" · "D" · "E" · "F" · "G"obligatorio
    • document_numbertextoobligatorio
    • first_nametextoobligatorio

      de 1 a 250 caracteres

    • last_nametextoobligatorio

      de 1 a 250 caracteres

    • licensetextoobligatorio
  • related_documentslista de objetosopcional

    hasta 500 elementos · por defecto []

    • type"12" · "31" · "48" · "49" · "50" · "52" · "65" · "66" · "67" · "68" · "69" · "71" · "72" · "73" · "74" · "75" · "76" · "77" · "78" · "80" · "81" · "82" · "91" · "92" · "93" · "94" · "95" · "01" · "03" · "04" · "09"obligatorio
    • numbertextoobligatorio

      Como está impreso en el comprobante, p. ej. F001-25.

    • descriptiontextoopcional

      de 1 a 120 caracteres

    • issuer_ructextoopcional

      RUC de quien lo emitió; Emitay lo completa cuando las reglas de SUNAT no dejan duda.

  • itemslista de objetosobligatorio

    Los bienes. Una guía no tiene precios, moneda ni total.

    de 1 a 9999 elementos

    • codetextoopcional

      de 1 a 30 caracteres

    • descriptiontextoobligatorio

      El único texto de una guía que puede llevar saltos de línea.

      de 3 a 500 caracteres

    • quantitytexto o númeroobligatorio
    • unit_codetextoopcional

      Catálogo 03 de SUNAT (UN/ECE Rec. 20), p. ej. NIU unidades, KGM kilogramos.

      por defecto "NIU"

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Emitir un comprobante de retención

POST/v1/retentions

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • seriestextoobligatorio
  • supplierobjetoobligatorio

    A quién se le pagó.

    • document_type"6"opcional

      Siempre "6", RUC: se puede omitir.

      por defecto "6"

    • document_numbertextoobligatorio
    • nametextoobligatorio

      Nombre o razón social.

      de 1 a 1500 caracteres

    • addresstextoopcional

      Dirección del cliente.

      hasta 200 caracteres

    • emailtextoopcional

      A dónde envía auto_email el comprobante cuando SUNAT lo acepta.

      hasta 254 caracteres · formato email

  • regimeobjetoobligatorio

    Catálogo 23 de SUNAT: 01 tasa 3 %; 02 tasa 6 %, para comprobantes emitidos hasta el 2014-02-28.

    • code"01" · "02"obligatorio
    • ratetexto o númeroopcional

      Porcentaje. Se puede omitir: lo fija el código, y otro valor se rechaza.

  • documentslista de objetosobligatorio

    Una entrada por pago.

    de 1 a 1000 elementos

    • type"12" · "01" · "07" · "08"obligatorio

      Catálogo 01 de SUNAT: 01 factura, 12 ticket, 07 nota de crédito, 08 nota de débito.

    • seriestextoobligatorio

      F001, E001, los cuatro dígitos de uno impreso…

      de 1 a 20 caracteres

    • numberenteroobligatorio

      hasta 99999999 · mayor que 0

    • issue_datetextoobligatorio

      formato date

    • currencytextoopcional

      ISO 4217.

      por defecto "PEN"

    • totaltexto o númeroobligatorio

      Total del comprobante, en su propia moneda.

    • exchange_ratetexto o númeroopcional

      Soles por unidad de currency el día del pago. Obligatorio cuando el comprobante no está en soles, y solo entonces.

    • paymentobjetoopcional
      • numberenteroopcional

        Correlativo del pago dentro de su comprobante: 1 para el único o el primero.

        hasta 999999999 · mayor que 0 · por defecto 1

      • datetextoobligatorio

        formato date

      • amounttexto o númeroobligatorio
  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Por defecto, hoy en Lima.

    formato date

  • issue_timetextoopcional
  • observationstextoopcional

    Texto libre que se imprime en el comprobante.

    de 1 a 250 caracteres

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem

Emitir un comprobante de percepción

POST/v1/perceptions

Cabeceras

  • idempotency-keytextoopcional

    Repetir una petición con la misma llave devuelve el recurso original. Usa una llave por recurso: la misma llave en una petición de otro tipo de comprobante responde 409.

    de 1 a 255 caracteres

  • prefertextoopcional

    wait=10 retiene la respuesta hasta 10 segundos, a la espera de la respuesta de SUNAT.

Cuerpo application/json

  • seriestextoobligatorio
  • customerobjetoobligatorio

    Quién pagó.

    • document_typetextoobligatorio

      Documento de identidad del cliente, catálogo 06 de SUNAT: "6" RUC, "1" DNI, "4" carné de extranjería, "7" pasaporte, "0" ninguno. Una factura exige "6", salvo que sea una exportación.

    • document_numbertextoobligatorio

      Número de ese documento: 11 dígitos para un RUC, 8 para un DNI; "-" con document_type "0".

      de 1 a 15 caracteres

    • nametextoobligatorio

      Nombre o razón social.

      de 1 a 1500 caracteres

    • addresstextoopcional

      Dirección del cliente.

      hasta 200 caracteres

    • emailtextoopcional

      A dónde envía auto_email el comprobante cuando SUNAT lo acepta.

      hasta 254 caracteres · formato email

  • regimeobjetoobligatorio

    Catálogo 22 de SUNAT: 01 venta interna (2 %), 02 adquisición de combustible (1 %), 03 agente de percepción con tasa especial (0.5 %).

    • code"01" · "02" · "03"obligatorio
    • ratetexto o númeroopcional

      Porcentaje. Se puede omitir: lo fija el código, y otro valor se rechaza.

  • documentslista de objetosobligatorio

    Una entrada por cobro.

    de 1 a 1000 elementos

    • type"12" · "01" · "03" · "07" · "08"obligatorio

      Catálogo 01 de SUNAT: 01 factura, 03 boleta, 12 ticket, 07 nota de crédito, 08 nota de débito.

    • seriestextoobligatorio

      F001, E001, los cuatro dígitos de uno impreso…

      de 1 a 20 caracteres

    • numberenteroobligatorio

      hasta 99999999 · mayor que 0

    • issue_datetextoobligatorio

      formato date

    • currencytextoopcional

      ISO 4217.

      por defecto "PEN"

    • totaltexto o númeroobligatorio

      Total del comprobante, en su propia moneda.

    • exchange_ratetexto o númeroopcional

      Soles por unidad de currency el día del pago. Obligatorio cuando el comprobante no está en soles, y solo entonces.

    • collectionobjetoopcional
      • numberenteroopcional

        Correlativo del pago dentro de su comprobante: 1 para el único o el primero.

        hasta 999999999 · mayor que 0 · por defecto 1

      • datetextoobligatorio

        formato date

      • amounttexto o númeroobligatorio
  • numberenteroopcional

    Omítelo para que Emitay asigne el siguiente número de la serie.

    hasta 99999999 · mayor que 0

  • issue_datetextoopcional

    Por defecto, hoy en Lima.

    formato date

  • issue_timetextoopcional
  • observationstextoopcional

    Texto libre que se imprime en el comprobante.

    de 1 a 250 caracteres

  • metadataobjetoopcional

    Pares clave-valor libres que se guardan con el recurso y vuelven en sus respuestas, eventos y webhooks; Emitay nunca los lee. Hasta 50 claves de 40 caracteres, con valores de hasta 500.

Respuestas

  • 200El comprobante que creó una petición anterior con esta llave — Document
  • 201Comprobante firmado y en cola para SUNAT — Document
  • 401Falta la llave de API o no es válida — Problem
  • 403Quien llama no tiene permiso para hacer esto — Problem
  • 409La petición choca con el estado actual del recurso — Problem
  • 422La petición no es válida — Problem
  • 429Demasiadas peticiones — Problem