Saltar al contenido
Facturador

Generar percepción

POST /api/perceptions

Autenticación: Bearer del usuario del tenant (Authorization: Bearer <api_token>).

Cuerpo

Content-Type: application/json

{
  "serie_documento": "P001",
  "numero_documento": "#",
  "fecha_de_emision": "2018-10-09",
  "hora_de_emision": "10:11:11",
  "codigo_tipo_documento": "40",
  "datos_del_emisor": {
    "codigo_pais": "PE",
    "ubigeo": "150101",
    "direccion": "Av. 2 de Mayo",
    "correo_electronico": "demo@gmail.com",
    "telefono": "427-1148",
    "codigo_del_domicilio_fiscal": "0000"
  },
  "datos_del_cliente_o_receptor": {
    "codigo_tipo_documento_identidad": "6",
    "numero_documento": "10414711225",
    "apellidos_y_nombres_o_razon_social": "EMPRESA XYZ S.A.",
    "nombre_comercial": "EMPRESA XYZ",
    "codigo_pais": "PE",
    "ubigeo": "150101",
    "direccion": "Av. 2 de Mayo",
    "correo_electronico": "demo@gmail.com",
    "telefono": "427-1148"
  },
  "codigo_tipo_percepcion": "01",
  "observaciones": "-",
  "totales": {
    "total_percibido": 30.0,
    "total_pagado": 1000.0
  },
  "documentos": [
    {
      "codigo_tipo_documento": "01",
      "serie_documento": "F001",
      "numero_documento": "3",
      "fecha_de_emision": "2018-10-09",
      "codigo_tipo_moneda": "PEN",
      "pagos": [
        {
          "fecha_de_pago": "2018-10-09",
          "total_pago": 200.0,
          "codigo_tipo_moneda": "PEN"
        }
      ],
      "tipo_de_cambio": {
        "codigo_tipo_moneda_referencia": "PEN",
        "codigo_tipo_moneda_objetivo": "PEN",
        "factor": 1,
        "fecha_tipo_de_cambio": "2018-10-09"
      },
      "fecha_de_percepcion": "2018-10-09",
      "total_documento": 400.0,
      "total_percibido": 12.0,
      "total_a_pagar": 412.0,
      "total_pagado": 412.0
    },
    {
      "codigo_tipo_documento": "01",
      "serie_documento": "F001",
      "numero_documento": "4",
      "fecha_de_emision": "2018-10-09",
      "codigo_tipo_moneda": "USD",
      "total_documento": 200.0,
      "pagos": [
        {
          "fecha_de_pago": "2018-10-09",
          "total_pago": 200.0,
          "codigo_tipo_moneda": "USD"
        }
      ],
      "tipo_de_cambio": {
        "codigo_tipo_moneda_referencia": "USD",
        "codigo_tipo_moneda_objetivo": "PEN",
        "factor": 3.0,
        "fecha_tipo_de_cambio": "2018-10-09"
      },
      "fecha_de_percepcion": "2018-10-09",
      "total_percibido": 18.0,
      "total_a_pagar": 618.0,
      "total_pagado": 618.0
    }
  ]
}

Respuestas

200 — Comprobante generado

La respuesta típica de POST /api/documents incluye success, data (número, external_id, QR) y links a XML, PDF y CDR.

{
  "success": true,
  "data": {
    "number": "F001-1",
    "filename": "20123456789-01-F001-1",
    "external_id": "uuid"
  },
  "links": {
    "xml": "https://{subdominio}/downloads/document/xml/{external_id}",
    "pdf": "https://{subdominio}/downloads/document/pdf/{external_id}",
    "cdr": "https://{subdominio}/downloads/document/cdr/{external_id}"
  }
}

Nombre en el SDK

El cuerpo de la consulta es el JSON de la sección Cuerpo. Si instalas el paquete generado en sdks/, esa misma petición es el método emitirPercepcion.

Lenguaje Llamada
PHP TenantDominioDelClienteComprobantesApi::emitirPercepcion
JavaScript TenantDominioDelClienteComprobantesApi.emitirPercepcion
TypeScript TenantDominioDelClienteComprobantesApi.emitirPercepcion
Java TenantDominioDelClienteComprobantesApi.emitirPercepcion
Python TenantDominioDelClienteComprobantesApi.emitir_percepcion
C# TenantDominioDelClienteComprobantesApi.EmitirPercepcionAsync
Go TenantDominioDelClienteComprobantesAPIService.EmitirPercepcion
Ruby TenantDominioDelClienteComprobantesApi.emitir_percepcion
Kotlin TenantDominioDelClienteComprobantesApi.emitirPercepcion
Dart TenantDominioDelClienteComprobantesApi.emitirPercepcion
Swift TenantDominioDelClienteComprobantesAPI.emitirPercepcion