Saltearse al contenido

Tutorial: Generar nota de remisión (Manual)

Este tutorial explica cómo emitir una nota de remisión electrónica en modo manual: enviás en una sola llamada todos los datos (cliente, transportista, chofer, transporte, vehículo, salida, destino e ítems con mercaderías y/o servicios). No se usa un carrito existente; los ítems se envían como objetos completos dentro de items.mercaderias e items.servicios.

Podés emitir la nota sin documento asociado, con documento electrónico asociado (CDC ya emitido) o con documento manual asociado (factura impresa).

URL Base: https://api.guarani.app

  1. Consultar el timbrado (autorización de la SET)
  2. Construir el body completo (datos de emisión, cliente, transportista, chofer, transporte, vehículo, salida, destino e ítems)
  3. Enviar todo al endpoint de nota de remisión manual

Endpoint: POST /simplificado/notas/remision/manual


¿Por qué necesitás consultar el timbrado?

Sección titulada «¿Por qué necesitás consultar el timbrado?»

El timbrado es la autorización que te da la SET (Secretaría de Estado de Tributación) para emitir documentos electrónicos. Contiene información importante que necesitás incluir en cada nota de remisión:

  • numero_timbrado: El número de autorización de la SET
  • numero_establecimiento: El código de tu local o sucursal
  • punto_expedicion: El punto desde donde emitís los documentos

Hacé una consulta al endpoint de timbrados:

Ventana de terminal
curl -X GET "https://api.guarani.app/timbrados?page=1&limit=100" \
-H "x-api-key: Bearer <access_token>" \
-H "Accept: application/json" | jq

Nota: Reemplazá <access_token> con un token JWT válido proporcionado por el equipo Guarani.

Para más información sobre timbrados, consultá la documentación completa en Obtener lista de timbrados.


Paso 2: Estructura del body (nota remisión manual)

Sección titulada «Paso 2: Estructura del body (nota remisión manual)»

En el flujo manual no hay carrito: enviás cliente completo y items como objeto con arrays mercaderias y servicios, cada uno con todos los datos del producto o servicio.

CampoTipoRequeridoDescripción
numero_timbradostringNúmero de timbrado.
punto_expedicionstringPunto de expedición.
numero_establecimientostringNúmero de establecimiento.

Datos del cliente receptor de la remisión.

CampoTipoRequeridoDescripción
tipo_personanumberTipo de persona (ver Tipos de personas).
tipo_documentonumberTipo de documento (ver Tipos de documentos).
documentostringNúmero de documento.
nombrestringNombre completo.
nombre_fantasiastringNoNombre de fantasía.
nacionalidadstringCódigo de nacionalidad (ej. PRY).
fecha_nacimientostringNoFecha de nacimiento (formato DD/MM/YYYY).
whatsappstringNoWhatsApp (ej. +595981234567).
emailstringNoEmail.
direccionstringNoDirección.
numero_casastringNoNúmero de casa.
barriostringNoBarrio.
ciudad_idstringUUID de la ciudad (ver ciudades).
CampoTipoRequeridoDescripción
jsonDEbooleanNoSi true, respuesta incluye XML.
motivo_codigonumberCódigo del motivo del traslado (ver Motivo código).
factura_fecha_futura_emisionstringNoFecha de emisión de la factura (formato DD/MM/YYYY).
responsable_emisionnumberQuién es responsable de la emisión (ver Responsable de emisión).
kilometros_estimadosnumberKilómetros estimados.
transportistaobjectDatos transportista (como cliente).
CampoTipoRequeridoDescripción
tipo_personanumberTipo de persona (ver Tipos de personas).
tipo_documentonumberTipo de documento (ver Tipos de documentos).
documentostringNúmero de documento.
nombrestringNombre completo.
nombre_fantasiastringNoNombre de fantasía.
nacionalidadstringCódigo de nacionalidad (ej. PRY).
fecha_nacimientostringNoFecha de nacimiento (formato DD/MM/YYYY).
whatsappstringNoWhatsApp (ej. +595981234567).
emailstringNoEmail.
direccionstringNoDirección.
numero_casastringNoNúmero de casa.
barriostringNoBarrio.
ciudad_idstringUUID de la ciudad (ver ciudades).
CampoTipoRequeridoDescripción
numero_documentostringNúmero de documento (CI u otro).
nombrestringNombre completo del chofer.
domicilio_fiscalstringDomicilio fiscal del chofer.
CampoTipoRequeridoDescripción
tiponumberTipo de transporte (ver Tipo de transporte).
modalidadnumberModalidad del transporte (ver Modalidad de transporte).
responsable_costo_fletenumberQuién asume el costo del flete (ver Responsable costo flete).
codigo_condicion_negociostringCódigo de la condición de negocio (ver Códigos de las condiciones de negocio). Ej. “FOB”, “CIF”.
fecha_inicio_trasladostringFecha de inicio (DD/MM/YYYY).
fecha_fin_trasladostringFecha de fin (DD/MM/YYYY).
CampoTipoRequeridoDescripción
tipo_vehiculonumberTipo de vehículo (ver Tipos de vehiculos).
marcastringMarca del vehículo.
tipo_identificacionnumberTipo de identificación (ver Tipo de identificación del vehiculo).
numero_identificacionstringCondicionalSi tipo_identificacion es 1, obligatorio. Número de identificación del vehículo.
numero_matriculastringCondicionalSi tipo_identificacion es 2, obligatorio. Número de matrícula del vehículo.

Para ambos:

CampoTipoRequeridoDescripción
direccionstringDirección.
ciudad_idstringUUID de la ciudad.
whatsappstringNoWhatsApp (ej. +595981234567).

La nota de remisión puede ir sin documento asociado, o asociada a un documento electrónico (por CDC) o a un documento manual (impreso). Solo podés enviar uno de los dos cuando querés asociar: documento_electronico o documento_manual, no ambos.

Importante: el documento asociado va dentro del objeto principal del body: documento_electronico o documento_manual son propiedades del mismo JSON que contiene datos_emision, cliente, transporte, items, etc. (mismo nivel, no anidados en otro objeto).

No enviés nunca documento_electronico y documento_manual en el mismo request. Solo uno de los dos, o ninguno.

No enviás ni documento_electronico ni documento_manual. Es el caso por defecto cuando la remisión no está vinculada a una factura previa.

Cuando la remisión se asocia a una factura (u otro DE) ya emitida en el sistema, enviás el objeto documento_electronico con el CDC de ese documento:

CampoTipoRequeridoDescripción
cdcstringCódigo de control del documento (44 caracteres).

Ejemplo:

"documento_electronico": {
"cdc": "01801580404001002000092212026020516358891390"
}

Cuando la remisión se asocia a una factura impresa (no electrónica), enviás el objeto documento_manual con los datos del documento impreso:

Ver Tipos de documentos impresos asociados para tipo_documento_impreso.

CampoTipoRequeridoDescripción
numero_timbradostringNúmero de timbrado del documento asociado.
numero_establecimientostringNúmero de establecimiento.
punto_expedicionstringPunto de expedición.
numero_documentostringNúmero del documento (ej. “0000007”).
fecha_emisionstringFecha de emisión (DD/MM/YYYY).
tipo_documento_impresonumberTipo documento impreso (1-4, ver tablas).

Ejemplo:

"documento_manual": {
"numero_timbrado": "12345678",
"numero_establecimiento": "001",
"punto_expedicion": "001",
"numero_documento": "0000007",
"fecha_emision": "17/03/2025",
"tipo_documento_impreso": 1
}

En el flujo manual, items es un objeto con dos propiedades: mercaderias (array) y servicios (array). No se repite la palabra “mercaderia” o “servicio” en cada elemento; cada elemento es directamente el objeto de producto o servicio.

Cada elemento del array es un objeto con los siguientes campos:

CampoTipoRequeridoDescripción
codigo_internostringFormato 01- + 7 caracteres (mercadería; ver Código interno). Ej: 01-1234567.
codigo_originalstringCódigo original del producto.
codigo_barrastringCódigo de barra.
codigo_fabricantestringCódigo del fabricante.
descripcionstringDescripción.
descripcion_largastringDescripción larga.
observacionstringObservación.
unidad_medida_venta_idstringUUID de la unidad de medida (ver Unidades de medida de venta).
marcastringMarca.
clasificacionobject{ "codigo": "01", "nombre": "Electrónica" }.
cantidadnumberCantidad (mayor a 0).
precio_unitario_originalnumberPrecio unitario original.
precio_unitarioobjectPrecios por tasa IVA: { "0": number, "5": number, "10": number }.

Si incluís servicios, cada elemento sigue la estructura de servicio.

CampoTipoRequeridoDescripción
codigo_internostringFormato 02- + 7 caracteres (servicio; ver Código interno). Ej: 02-1234567.
descripcionstringDescripción.
descripcion_largastringDescripción larga.
observacionstringObservación.
unidad_medida_venta_idstringUUID de la unidad de medida (ver Unidades de medida de venta).
clasificacionobject{ "codigo": "01", "nombre": "Electrónica" }.
cantidadnumberCantidad (mayor a 0).
precio_unitario_originalnumberPrecio unitario original.
precio_unitarioobjectPrecios por tasa IVA: { "0": number, "5": number, "10": number }.

Juntás todos los objetos anteriores en un solo JSON y enviás a POST /simplificado/notas/remision/manual.

Asegurate de usar exactamente los nombres de las propiedades que figuran en el Paso 1. En el vehículo: si tipo_identificacion es 1 enviá numero_identificacion; si es 2 enviá numero_matricula. Un typo en una clave puede hacer que la API rechace el body o interprete mal el dato.

Ejemplo de body completo (sin documentos asociados)

Sección titulada «Ejemplo de body completo (sin documentos asociados)»

En este ejemplo no se envía ni documento_electronico ni documento_manual.

{
"jsonDE": false,
"datos_emision": {
"numero_timbrado": "12345678",
"punto_expedicion": "001",
"numero_establecimiento": "001"
},
"cliente": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Cliente Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"motivo_codigo": 1,
"factura_fecha_futura_emision": "02/02/2026",
"responsable_emision": 1,
"kilometros_estimados": 12,
"transportista": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Transportista Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"chofer": {
"numero_documento": "1234567",
"nombre": "Chofer Ejemplo",
"domicilio_fiscal": "Domicilio fiscal del chofer"
},
"transporte": {
"tipo": 1,
"modalidad": 1,
"responsable_costo_flete": 1,
"codigo_condicion_negocio": "FOB",
"fecha_inicio_traslado": "02/02/2026",
"fecha_fin_traslado": "02/02/2026"
},
"vehiculo": {
"tipo_vehiculo": 1,
"marca": "TOYOTA",
"tipo_identificacion": 2,
"numero_matricula": "ABC123"
},
"salida": {
"direccion": "Dirección de salida Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"destino": {
"direccion": "Dirección de destino Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"items": {
"mercaderias": [
{
"codigo_interno": "01-1234567",
"codigo_original": "01-1234567",
"codigo_barra": "7891234567890",
"codigo_fabricante": "FAB123",
"descripcion": "Mercadería Ejemplo",
"descripcion_larga": "Mercadería Ejemplo con descripción larga",
"observacion": "Observación Ejemplo",
"unidad_medida_venta_id": "5f49c6c1-d622-4f5b-9d8b-2d1636b584ab",
"marca": "Marca Ejemplo",
"clasificacion": {
"codigo": "01",
"nombre": "Clasificación Ejemplo"
},
"cantidad": 1,
"precio_unitario_original": 100000,
"precio_unitario": {
"0": 0,
"5": 0,
"10": 100000
}
}
],
"servicios": []
}
}
Ventana de terminal
curl -X POST 'https://api.guarani.app/simplificado/notas/remision/manual' \
-H 'Content-Type: application/json' \
-H 'x-api-key: Bearer <access_token>' \
-d '{
"jsonDE": false,
"datos_emision": {
"numero_timbrado": "12345678",
"punto_expedicion": "001",
"numero_establecimiento": "001"
},
"cliente": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Cliente Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"motivo_codigo": 1,
"factura_fecha_futura_emision": "02/02/2026",
"responsable_emision": 1,
"kilometros_estimados": 12,
"transportista": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Transportista Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"chofer": {
"numero_documento": "1234567",
"nombre": "Chofer Ejemplo",
"domicilio_fiscal": "Domicilio fiscal del chofer"
},
"transporte": {
"tipo": 1,
"modalidad": 1,
"responsable_costo_flete": 1,
"codigo_condicion_negocio": "FOB",
"fecha_inicio_traslado": "02/02/2026",
"fecha_fin_traslado": "02/02/2026"
},
"vehiculo": {
"tipo_vehiculo": 1,
"marca": "TOYOTA",
"tipo_identificacion": 2,
"numero_matricula": "ABC123"
},
"salida": {
"direccion": "Dirección de salida Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"destino": {
"direccion": "Dirección de destino Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"items": {
"mercaderias": [
{
"codigo_interno": "01-1234567",
"codigo_original": "01-1234567",
"codigo_barra": "7891234567890",
"codigo_fabricante": "FAB123",
"descripcion": "Mercadería Ejemplo",
"descripcion_larga": "Mercadería Ejemplo con descripción larga",
"observacion": "Observación Ejemplo",
"unidad_medida_venta_id": "5f49c6c1-d622-4f5b-9d8b-2d1636b584ab",
"marca": "Marca Ejemplo",
"clasificacion": {
"codigo": "01",
"nombre": "Clasificación Ejemplo"
},
"cantidad": 1,
"precio_unitario_original": 100000,
"precio_unitario": {
"0": 0,
"5": 0,
"10": 100000
}
}
],
"servicios": []
}
}'

Reemplazá <access_token> por tu token JWT válido.

Ejemplo completo: con documento electrónico asociado

Sección titulada «Ejemplo completo: con documento electrónico asociado»

Mismo body que el ejemplo sin documentos, pero agregando el objeto documento_electronico en el objeto principal (entre destino e items):

{
"jsonDE": false,
"datos_emision": {
"numero_timbrado": "12345678",
"punto_expedicion": "001",
"numero_establecimiento": "001"
},
"cliente": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Cliente Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"motivo_codigo": 1,
"factura_fecha_futura_emision": "02/02/2026",
"responsable_emision": 1,
"kilometros_estimados": 12,
"transportista": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Transportista Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"chofer": {
"numero_documento": "1234567",
"nombre": "Chofer Ejemplo",
"domicilio_fiscal": "Domicilio fiscal del chofer"
},
"transporte": {
"tipo": 1,
"modalidad": 1,
"responsable_costo_flete": 1,
"codigo_condicion_negocio": "FOB",
"fecha_inicio_traslado": "02/02/2026",
"fecha_fin_traslado": "02/02/2026"
},
"vehiculo": {
"tipo_vehiculo": 1,
"marca": "TOYOTA",
"tipo_identificacion": 2,
"numero_matricula": "ABC123"
},
"salida": {
"direccion": "Dirección de salida Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"destino": {
"direccion": "Dirección de destino Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"documento_electronico": {
"cdc": "01801580404001002000092212026020516358891390"
},
"items": {
"mercaderias": [
{
"codigo_interno": "01-1234567",
"codigo_original": "01-1234567",
"codigo_barra": "7891234567890",
"codigo_fabricante": "FAB123",
"descripcion": "Mercadería Ejemplo",
"descripcion_larga": "Mercadería Ejemplo con descripción larga",
"observacion": "Observación Ejemplo",
"unidad_medida_venta_id": "5f49c6c1-d622-4f5b-9d8b-2d1636b584ab",
"marca": "Marca Ejemplo",
"clasificacion": {
"codigo": "01",
"nombre": "Clasificación Ejemplo"
},
"cantidad": 1,
"precio_unitario_original": 100000,
"precio_unitario": {
"0": 0,
"5": 0,
"10": 100000
}
}
],
"servicios": []
}
}

El cdc debe ser el código de control (44 caracteres) del documento electrónico al que se asocia la remisión.

Ejemplo completo: con documento manual (físico) asociado

Sección titulada «Ejemplo completo: con documento manual (físico) asociado»

Mismo body que el ejemplo sin documentos, pero agregando el objeto documento_manual en el objeto principal (entre destino e items):

{
"jsonDE": false,
"datos_emision": {
"numero_timbrado": "12345678",
"punto_expedicion": "001",
"numero_establecimiento": "001"
},
"cliente": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Cliente Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"motivo_codigo": 1,
"factura_fecha_futura_emision": "02/02/2026",
"responsable_emision": 1,
"kilometros_estimados": 12,
"transportista": {
"tipo_persona": 1,
"tipo_documento": 0,
"documento": "1234567-8",
"nombre": "Transportista Ejemplo",
"nombre_fantasia": "",
"nacionalidad": "PRY",
"fecha_nacimiento": "11/09/2025",
"whatsapp": "+595981234567",
"email": "[email protected]",
"direccion": "Av. ejemplo",
"numero_casa": "789",
"barrio": "Barrio Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341"
},
"chofer": {
"numero_documento": "1234567",
"nombre": "Chofer Ejemplo",
"domicilio_fiscal": "Domicilio fiscal del chofer"
},
"transporte": {
"tipo": 1,
"modalidad": 1,
"responsable_costo_flete": 1,
"codigo_condicion_negocio": "FOB",
"fecha_inicio_traslado": "02/02/2026",
"fecha_fin_traslado": "02/02/2026"
},
"vehiculo": {
"tipo_vehiculo": 1,
"marca": "TOYOTA",
"tipo_identificacion": 2,
"numero_matricula": "ABC123"
},
"salida": {
"direccion": "Dirección de salida Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"destino": {
"direccion": "Dirección de destino Ejemplo",
"ciudad_id": "67ef2e9f-0fa7-43e7-ad5e-87a694e56341",
"whatsapp": "+595981234567"
},
"documento_manual": {
"numero_timbrado": "12345678",
"numero_establecimiento": "001",
"punto_expedicion": "001",
"numero_documento": "0000007",
"fecha_emision": "17/03/2025",
"tipo_documento_impreso": 1
},
"items": {
"mercaderias": [
{
"codigo_interno": "01-1234567",
"codigo_original": "01-1234567",
"codigo_barra": "7891234567890",
"codigo_fabricante": "FAB123",
"descripcion": "Mercadería Ejemplo",
"descripcion_larga": "Mercadería Ejemplo con descripción larga",
"observacion": "Observación Ejemplo",
"unidad_medida_venta_id": "5f49c6c1-d622-4f5b-9d8b-2d1636b584ab",
"marca": "Marca Ejemplo",
"clasificacion": {
"codigo": "01",
"nombre": "Clasificación Ejemplo"
},
"cantidad": 1,
"precio_unitario_original": 100000,
"precio_unitario": {
"0": 0,
"5": 0,
"10": 100000
}
}
],
"servicios": []
}
}

tipo_documento_impreso: 1 = Factura, 2 = Nota de crédito, 3 = Nota de débito, 4 = Nota de remisión (ver tablas).

Si la remisión se asocia a una factura (u otro DE) ya emitida, agregá en el body el objeto documento_electronico (mismo nivel que datos_emision, cliente, etc.). El resto del body es igual al ejemplo anterior. Ejemplo del bloque a agregar:

"documento_electronico": {
"cdc": "01801580404001002000092212026020516358891390"
}

Reemplazá el valor de cdc por el código de control del documento al que querés asociar la remisión (44 caracteres). No enviés documento_manual si enviás documento_electronico.

Si la remisión se asocia a una factura impresa, agregá en el body el objeto documento_manual (mismo nivel que datos_emision, cliente, etc.). El resto del body es igual. Ejemplo del bloque a agregar:

"documento_manual": {
"numero_timbrado": "12345678",
"numero_establecimiento": "001",
"punto_expedicion": "001",
"numero_documento": "0000007",
"fecha_emision": "17/03/2025",
"tipo_documento_impreso": 1
}

El campo tipo_documento_impreso usa los códigos de Tipos de documentos impresos asociados (1: Factura, 2: Nota de crédito, 3: Nota de débito, 4: Nota de remisión). No enviés documento_electronico si enviás documento_manual.

{
"success": true,
"codigo": "200",
"message": "Operación realizada correctamente.",
"data": {
"numero_timbrado": "12345678",
"numero_documento": "002-001-0000001",
"serie": "AA",
"cdc": "018015804040010020000182120251028149230824767",
"estado_sifen": {
"estado": "Aprobado",
"mensaje": "Autorización del DE satisfactoria"
},
"xml": "https://api.guarani.app/sifen/xml/018015804040010020000182120251028149230824767",
"qr": "https://ekuatia.set.gov.py/consultas-test/qr?nVersion=150&Id=..."
}
}

Después de emitir, podés consultar el estado del documento con GET /sifen/consultas/estado/cdc/{cdc} (ver ejemplos de estado Aprobado/Rechazado/Pendiente en el tutorial desde carrito).


  1. Consultás el timbrado para obtener numero_timbrado, numero_establecimiento y punto_expedicion.
  2. Construís el body completo con datos_emision, cliente, transportista, chofer, transporte, vehículo, salida, destino e items.
  3. Enviás todo a POST /simplificado/notas/remision/manual.

Notas adicionales:

  • Documento asociado (opcional): sin documento, con documento_electronico (CDC) o con documento_manual (datos de factura impresa). Solo uno de los dos cuando se asocia.
  • jsonDE (opcional): si es true, la respuesta incluye el XML del DE en JSON.


Revisá estos puntos antes de llamar a POST /simplificado/notas/remision/manual:

  • Header — Enviás Content-Type: application/json y x-api-key: Bearer <tu_token>.
  • Objeto único — Todo va en un solo JSON; documento_electronico o documento_manual (si los usás) están al mismo nivel que datos_emision, cliente, items, etc., no dentro de otro objeto.
  • Documento asociado — Si asociás documento: solo uno de los dos (documento_electronico o documento_manual), nunca los dos juntos.
  • Itemsitems es un objeto con mercaderias y servicios (arrays). Al menos uno de los dos con al menos un elemento. Cada mercadería tiene codigo_interno tipo 01-XXXXXXX, cada servicio 02-XXXXXXX.
  • Fechas — Formato DD/MM/YYYY (ej. 02/02/2026).
  • Teléfonos — Con código país, ej. +595981234567.
  • CDC (si usás documento electrónico) — Exactamente 44 caracteres, sin espacios.
  • IDsciudad_id y unidad_medida_venta_id son UUIDs válidos (podés obtenerlos con GET /ciudades y catálogos correspondientes).
  1. Usá el formato de fechas DD/MM/YYYY y teléfonos con código país (ej. +595981234567).
  2. Obtené ciudad_id con GET /ciudades si no lo tenés (ver obtener ciudad ID).
  3. El codigo_interno de mercaderías debe ser 01- + 7 caracteres; el de servicios 02- + 7 caracteres (ver Código interno).
  4. En items podés enviar solo mercaderias, solo servicios, o ambos; al menos uno debe tener al menos un elemento.
  5. Si la API devuelve error, revisá el mensaje y la tabla de errores; si tenés dudas sobre códigos, revisá las tablas de referencia.