GuíaEjemplosReferencia API
apisunat.netIngresar
  • Factura
  • Boleta
  • Nota de crédito
  • Nota de débito
  • Retención
  • Percepción
  • Liquidación de compra
  • Anulaciones
  • Guía de remisión
  • Descargas
  • Node, PHP y Python

Guía de remisión

Guía de remisión remitente electrónica (GRE).

Para emitir guías, el RUC necesita las credenciales de la API de guías de SUNAT (greClientId y greClientSecret) además del usuario SOL y el certificado. Ver Emisores.

Transporte privado

bash
curl https://api.apisunat.net/api/v1/issuer/guides \
  -H "X-API-Key: $APISUNAT_KEY" \
  -H "Idempotency-Key: guia-000310" \
  -H "Content-Type: application/json" \
  -d '{
    "issueDate": "2026-10-27",
    "transferDate": "2026-10-28",
    "motiveCode": "01",
    "transportMode": "02",
    "customer": { "documentType": "6", "documentNumber": "20100066603", "name": "CLIENTE S.A.C." },
    "startAddress": "Av. Argentina 1520, Lima",
    "startUbigeo": "150101",
    "arrivalAddress": "Av. Larco 123, Miraflores",
    "arrivalUbigeo": "150122",
    "vehiclePlate": "ABC123",
    "driverName": "JUAN CARLOS",
    "driverLastName": "PÉREZ GARCÍA",
    "driverDocument": "12345678",
    "driverLicense": "Q12345678",
    "weightKg": 25,
    "packages": 2,
    "items": [
      { "code": "POLO-M", "description": "Polo talla M", "quantity": 20, "unitCode": "NIU" }
    ]
  }'

Responde 202 con un documento de tipo 09. Consúltalo después con GET /guides/{id}.

Transporte público

Con transportMode: "01" envía los datos del transportista en lugar del conductor:

json
{
  "transportMode": "01",
  "carrierRuc": "20555555551",
  "carrierName": "TRANSPORTES RÁPIDOS S.A.C.",
  "carrierMtcNumber": "MTC-123456"
}

Reglas que valida la API

  • Serie que empieza con T, ubigeos de 6 dígitos y peso bruto (weightKg) mayor que 0.
  • Transporte privado: placa de 6 a 8 caracteres, conductor con documento, nombres, apellidos y licencia de 9 o 10 caracteres. Con vehículos M1 o L (vehicleCategoryM1) no se informan placa ni conductor.
  • Transporte público: RUC y razón social del transportista. No se informan placa ni conductor.
  • transferDate no puede ser anterior a issueDate.
  • Motivo 04: códigos de establecimiento SUNAT de partida (startEstablishmentCode, por defecto 0000) y llegada (arrivalEstablishmentCode).

Motivos de traslado

CódigoMotivo
01Venta
02Compra
04Traslado entre establecimientos de la misma empresa
06Devolución
13Otros (requiere motiveDescription)

Campos

CampoObligatorioDescripción
issueDateSíFecha de emisión.
motiveCodeSíMotivo de traslado.
transportModeSí01 público, 02 privado.
customerSíDestinatario.
startAddress, startUbigeoSíPunto de partida.
arrivalAddress, arrivalUbigeoSíPunto de llegada.
itemsSíBienes: description, quantity, unitCode y code.
transferDateNoFecha de inicio del traslado. Por defecto, la de emisión.
weightKg, packagesNoPeso bruto total y número de bultos.
vehiclePlate, driverName, driverLastName, driverDocument, driverDocumentType, driverLicenseNoVehículo y conductor principal (transporte privado). Si no envías driverLastName, se toman los apellidos de driverName.
startEstablishmentCode, arrivalEstablishmentCodeNoEstablecimientos SUNAT de partida y llegada (motivo 04).
carrierRuc, carrierName, carrierMtcNumberNoTransportista (transporte público).
secondaryDrivers, secondaryVehicles, secondaryVehiclePlatesNoHasta 2 conductores y vehículos adicionales.
remitter, consigneeNoRemitente y destinatario cuando son distintos del emisor o del cliente.
relatedDocument, relatedDocuments, affectedDocumentNoDocumentos relacionados con el traslado.
transshipmentIndicator, portCode, containerNumberNoTransbordo, puerto y contenedor.
vehicleCategoryM1NoVehículo de categoría M1 o L.
legendsNoLeyendas: { "code", "value" }.
actionsNoEnvío por correo al emitir: { "sendEmail": true, "recipient", "pdfFormat" }.

La referencia completa con todos los tipos está en Referencia API.

Anulaciones< PreviousDescargasNext >

Powered by heyo

On this page

Transporte privadoTransporte públicoReglas que valida la APIMotivos de trasladoCampos