SiigoAPI
Siigo API

Crear Factura

Crear una nueva factura de venta teniendo en cuenta que el cliente o tercero ya está creado en la base de datos de Siigo Nube.

NombreTipoDescripciónCaracterísticas
document.idnumberIdentificador del tipo de comprobante.Campo obligatorio, debe existir en Siigo previamnete, se puede consultar por: /document-types
numbernumberConsecutivo/número del comprobanteEl campo opcional u obligatorio dependiendiendo la configuración de Siigo Nube, si se envia debe ser un consecutivo que no exista en Nube.
customer.rfc_idstringNúmero de RFC del cliente.Debe existir en Siigo Nube, debe estar activo.
customer.branch_officenumberNúmero de Sucursal del cliente.Campo opcional, si no se envia toma por defecto el 0.
sellernumberIdentificador del vendedor asociado a la factura.Campo obligatorio, debe existir en Siigo Nube, se puede consultar por la ruta: /users
observationsstringComentarios u observaciones de la factura.Campo opcional, tiene un limite de 4.000 carácteres.
usestringCódigo de uso CFDi.Campo obligatorio, consulte el listado de códigos válidos por el SAT para cada tipo de persona aquí.
cost_centernumberIdentificador del Centro de costos.Campo opcional, debe existir en Siigo Nube y estar activo.
items.codestringCódigo único del producto o servicio.Campo obligatorio, debe existir en Siigo Nube y estar activo, alfanúmerico.
items.descriptionstringNombre o descripción del producto/servicio.Campo opcional, si no maneja descripción larga en la configuración y se envia toma el nombre del producto. Si maneja descripción larga en la configuración del producto y no se envia debe tomar la descipción de la configuración del producto. Si se envia y viene vacio lo tomara así en la factura.
items.quantitynumberCantidad. En Siigo Nube queda registado con dos decimales.Campo obligatorio, númerico de máximo 2 decimales.
items.pricenumberPrecio del producto / Valor unitario.Campo obligatorio, númerico de máximo 2 decimales.
items.discountnumberValor de descuento del producto.Campo opcional, puede ser por valor o porcentaje dependiendo de la configuración de la factura.
items.warehousenumberIdentificador de la bodega/almacén asociada al producto.Campo opcional, si se envia debe existir en Siigo nube y estar activo.
retentionsarrayArray con los id de los impuestos tipo ReteIVA y/o Rete ISR.Campo opcional, se puede consultar por la ruta: /taxes
stamp.sendbooleanCampo para timbrar una factura electrónica en el SAT.Campo opcional, solo puede ir en true o false, sino se envia se toma por defecto false.
mail.sendbooleanCampo para enviar una factura por medio de un correo electrónico al cliente.Campo opcional, solo puede ir en true o false, sino se envia se toma por defecto false.
payment.methodstringMétodo de pago si fue en una exhibición seria PUE y PPD si es diferido.Campo obligatorio, solo puede ir con los valores: PUE o PPD.
payment.conditions.idnumberID de la condición de pago.Campo obligatorio, debe existir en Siigo Nube y etsar activa, se puede consultar por la ruta: /payment-types
payment.conditions.valuenumberValor asociado a la condición de pago.Campo obligatorio, númerico, máximo 2 decimales.
payment.conditions.due_datestringFecha pago del vencimiento de la factura.Campo obligatorio, formato de fecha.
POST
/v1/invoices

Authorization

application/json<token>

In: header

Authorization<token>

[access_token]

In: header

SiigoAPI-Application-Id<token>

nombre de la aplicación que estás integrando

In: header

Request Body

application/jsonOptional

Representa la solicitud con la información de la factura.

document
Required
object

Información del documento de la factura.

numberinteger

Consecutivo/número del comprobante

customer
Required
object

Información del cliente de la factura.

seller
Required
integer

Identificador del vendedor asociado a la factura.

observationsstring

Comentarios u observaciones de la factura.

Maximum length: 4000
use
Required
string

Código de uso CFDi.

cost_centerinteger

Identificador del Centro de costos.

items
Required
array<object>

Lista de productos o servicios de la factura.

retentionsarray<integer>

Array con los id de los impuestos tipo ReteIVA y/o Rete ISR.

stampobject

Configuración de timbrado de la factura.

mailobject

Configuración de envío por correo de la factura.

payment
Required
object

Información de pago de la factura.

curl -X POST "https://api.siigo.mx/v1/invoices" \
  -H "application/json: <token>" \
  -H "Authorization: <token>" \
  -H "SiigoAPI-Application-Id: <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "document": {
      "id": 1
    },
    "number": 1001,
    "customer": {
      "rfc_id": "ABC123456789",
      "branch_office": 0
    },
    "seller": 123,
    "observations": "Factura de ejemplo",
    "use": "G01",
    "cost_center": 1,
    "items": [
      {
        "code": "PROD001",
        "description": "Producto de ejemplo",
        "quantity": 2,
        "price": 100.5,
        "discount": 10,
        "warehouse": 1
      }
    ],
    "retentions": [
      1,
      2
    ],
    "stamp": {
      "send": true
    },
    "mail": {
      "send": false
    },
    "payment": {
      "method": "PUE",
      "conditions": {
        "id": 1,
        "value": 100,
        "due_date": "2024-12-31"
      }
    }
  }'

Factura creada exitosamente

{
  "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb",
  "document": {
    "id": 1,
    "name": "Factura"
  },
  "number": 1001,
  "customer": {
    "rfc_id": "ABC123456789",
    "branch_office": 0
  },
  "seller": 123,
  "observations": "Factura de ejemplo",
  "use": "G01",
  "cost_center": 1,
  "items": [
    {
      "code": "PROD001",
      "description": "Producto de ejemplo",
      "quantity": 2,
      "price": 100.5,
      "discount": 10,
      "warehouse": 1
    }
  ],
  "retentions": [
    1,
    2
  ],
  "stamp": {
    "send": true
  },
  "mail": {
    "send": false
  },
  "payment": {
    "method": "PUE",
    "conditions": {
      "id": 1,
      "value": 100,
      "due_date": "2024-12-31"
    }
  },
  "metadata": {
    "created": "2024-01-15T10:30:00Z",
    "last_updated": "2024-01-15T10:30:00Z"
  }
}