Editar una factura de forma simplificada

Descripción

Este endpoint permite editar una factura previamente creada de forma rápida y sencilla, enviando los datos del cliente, los productos y las condiciones de pago.

Al igual que en la creación simplificada, no es necesario registrar previamente todos los datos del cliente y de los productos. Si alguno no existe, la API podrá crearlo automáticamente según su configuración.

También puedes indicar si deseas enviar la factura al SIFEN para su autorización mediante el campo send.

Endpoint

PUT /api/invoices/:ID

Reemplaza :ID por el identificador de la factura que deseas editar.

Autenticación

Este endpoint requiere autenticación mediante un token Bearer.

Incluye el siguiente encabezado en la solicitud:

Authorization: Bearer TU_TOKEN

Cuerpo de la solicitud

Envía los datos de la factura en formato JSON.

Ejemplo de JSON

{
    "emitDate": "2026-10-09 16:13",
    "invoiceDetails": [
        {
            "product": {
                "name": "new from api",
                "sku": "napi1",
                "price": "3.56",
                "tax": "/api/taxes/1"
            },
            "amount": "6",
            "discount": "0",
            "discountType": null
        },
        {
            "product": {
                "name": "new from api 3",
                "sku": "napi1253",
                "price": "5",
                "tax": null
            },
            "amount": "5",
            "discount": "0",
            "discountType": null
        }
    ],
    "condicion": 2,
    "transactionType": 1,
    "client": {
        "idClient": "EQ5369854",
        "typeId": "2",
        "naturaleza": 2,
        "codigoPais": "PRY",
        "tipoOperacion": 2,
        "email": "[email protected]",
        "name": "Guerby",
        "lastname": "Duval",
        "phone": "+5987154522145",
        "razonSocial": "Mi razón social"
    },
    "paymentCredit": {
        "condicionOperacion": 1,
        "plazo": "5",
        "periodPlazo": "day"
    },
    "send": true
}

Descripción de los campos

Campos principales

Campo Tipo Descripción
emitDate string Fecha y hora de emisión de la factura. Formato del ejemplo: YYYY-MM-DD HH:mm.
invoiceDetails array Lista de productos incluidos en la factura.
condicion integer Código que identifica la condición de pago de la factura. En este ejemplo, 2 corresponde al pago a crédito.
transactionType integer Código que identifica el tipo de transacción según la configuración de la API.
client object Datos del cliente al que se emite la factura.
paymentCredit object Información sobre las condiciones de pago a crédito.
send boolean Indica si se debe enviar la factura al SIFEN. true solicita el envío; false evita solicitarlo en esta operación.

Campos de invoiceDetails

Cada elemento del arreglo representa una línea de la factura.

Campo Tipo Descripción
product object Datos del producto incluido en la línea.
amount string Cantidad de unidades del producto.
discount string Valor del descuento aplicado a la línea.
discountType string o null Tipo de descuento aplicado. Puede ser null cuando no se especifica un tipo.

Campos de invoiceDetails[].product

Campo Tipo Descripción
name string Nombre o descripción del producto.
sku string Código o referencia utilizado para identificar el producto.
price string Precio unitario del producto.
tax string o null Referencia al impuesto asociado al producto, por ejemplo, /api/taxes/1. Puede ser null si no se asigna un impuesto y la API lo permite.

Campos de client

Campo Tipo Descripción
idClient string Número de identificación del cliente.
typeId string Código del tipo de documento de identificación. Consulta la tabla de tipos de documentos de identificación.
naturaleza integer Naturaleza del cliente: 1 para contribuyente y 2 para no contribuyente.
codigoPais string Código del país del cliente. En el ejemplo se utiliza PRY.
tipoOperacion integer Código del tipo de operación: 1 para B2B, 2 para B2C, 3 para B2G y 4 para B2F.
email string Dirección de correo electrónico del cliente.
name string Nombre del cliente.
lastname string Apellido del cliente.
phone string Número de teléfono del cliente, incluido el prefijo internacional cuando corresponda.
razonSocial string Razón social del cliente, cuando corresponda.

Campos de paymentCredit

Campo Tipo Descripción
condicionOperacion integer Código que identifica la condición de la operación de crédito según los valores admitidos por la API.
plazo string Número de unidades de tiempo concedidas para realizar el pago. En el ejemplo, 5.
periodPlazo string Unidad de tiempo del plazo de pago. En el ejemplo, day, equivalente a días.

Envío de la factura al SIFEN

El campo send permite indicar si deseas enviar la factura al Sistema Integrado de Facturación Electrónica Nacional (SIFEN).

Valor Comportamiento
true Solicita el envío de la factura al SIFEN para su autorización.
false No solicita el envío al SIFEN durante esta operación.

La solicitud de envío no garantiza la autorización de la factura. El resultado depende de las validaciones y de la respuesta del SIFEN.

Consideraciones importantes

  • Utiliza el identificador correcto de la factura que deseas editar.
  • Incluye un token Bearer válido en el encabezado Authorization.
  • Envía el cuerpo de la solicitud en formato JSON válido.
  • Verifica que los códigos de identificación, naturaleza y tipo de operación sean válidos.
  • Comprueba que los productos y los impuestos enviados correspondan a los datos que deseas registrar.
  • Si utilizas send: true, la API solicitará el envío de la factura al SIFEN, sujeto a las validaciones correspondientes.