Actualizar una factura

Endpoint

PUT /invoices/{id_invoice}

Parámetros

ParámetroDescripciónTipoRequerido
{id_invoice}Identificador de la facturaentero

Campos actualizables

CampoDescripciónTipo
serieSerie de la factura.cadena de texto
folioFolio de la factura.entero
document_typeTipo de documento. Opciones: invoice, ticket. invoice es el valor por defecto.cadena de texto
invoice_dateFecha de creación de la factura.fecha y hora
nameRazón social de la entidad a facturar.cadena de texto
taxidRFC, RUT, DNI.cadena de texto
country(ISO 3166-1 alpha-3) País donde se está emitiendo la factura.cadena de texto
currency(ISO 4217) Moneda utilizada para facturar.cadena de texto
subtotalSubtotal facturado.número
ivaImpuestos facturados.número
totalTotal facturado.número
[file]Lista de objetos de archivolista de objeto file
📘

Solo actualiza lo que necesitas.

  • En el proceso de actualización se puede enviar únicamente los objetos que se desean modificar. No se debe enviar todo de nuevo, solo lo que deseas cambiar.

Modelo de datos para un archivo adjunto

Campo

Descripción

Requerido

name

Nombre del archivo con extensión (debe ser único para la factura)

base64

Contenido del archivo codificado en base64

send_to_marketplaces

Se reciben dos valores: 1 o 0 0: No se envía a los marketplaces. Solo se sube a Yuju. 1: Se sube el documento a Yuju y Yuju lo envía a los canales.

❗️

Campos que no se pueden actualizar

No es posible actualizar los siguientes campos de la factura:

  • orders -> lista de items de una orden

Ejemplo de solicitud

{
  "serie": "A",
  "folio": 1,
  "invoice_date": "2021-04-22T22:30:37",
  "name": "Comercializadora de occidente s.a de c.v.",
  "taxid": "COJ8812011ABC",
  "country": "MEX",
  "currency": "MXN",
  "subtotal": 10000,
  "iva": 1900,
  "total": 11900,
  "orders": [
    {
      "id_shop": 205,
      "id_channel": 15,
      "id_order": "ABC123",
      "reference": "aaaa-bbbb-cccc-dddd",
      "items": [
        {
          "sku": "123456789ABC"
        }
      ]
    }
  ],
  "files": [
    {
      "name": "factura",
      "base64": "JVBERiB0ZA...",
      "send_to_marketplace": 1
    },
    {
      "name": "comprobante_fiscal.xml",
      "base64": "H4sIA...",
      "send_to_marketplace": 0
    }
  ]
}

Notas:

  • En files.[].name no debe incluir la extesncion, la extension se calgula en base al contenido del archivo
  • Cuando el archivo es un xml debe contener la etiqueta <xml…>

Respuesta

En caso de éxito (código 200), la respuesta del servidor incluirá la siguiente información:

{
  "id_invoice": "ASDNON_DSADN12",
  "message": "Updated succesfully"
}