Skip to main content
Glama

Siigo MCP Server

by jdlar1
siigoapi.apib305 kB
FORMAT: 1A HOST: https://api.siigo.com # Siigo API Siigo API te permite integrar cualquiera de tus aplicaciones a Siigo Nube para automatizar todo tu ciclo de venta e información contable. Tendrás acceso a los siguientes recursos: | Recurso | Endpoint | Descripción |---------------------------|------------------------|------------------------------------------- | Productos o servicios | /products | Crear, consultar, actualizar y borrar productos.| | Clientes | /customers | Crear, consultar y actualizar clientes / terceros.| | Facturas de venta | /invoices | Crear, editar, enviar por mail, anular, borrar o consultar una o todas las facturas de venta y consultar el PDF de una factura| | Facturas de Compra | /purchases | Crear, editar, eliminar y consultar una o todas las facturas de compra | | Notas crédito | /credit-notes | Crear, consultar una o todas las notas crédito y consultar el PDF de una nota crédito| | Recibos de caja | /vouchers | Crear y consultar una o todos los recibos de caja.| | Recibos de pago/egreso | /payment-receipts | Crear , editar, eliminar y consultar uno o todos los recibos de pago/egreso.| | Comprobantes contables | /journals | Crear y consultar una o todos los Comprobantes Contables| | Reportes financieros y contables | El endpoint depende del reporte | Consultar reportes de balance de prueba, balance de prueba por tercero y reporte cuentas por pagar.| # Novedades ## Cambios en la creación de Facturas de Venta y Notas crédito del Sector de Salud **Estos cambios se aplicarán a partir del 22 de Julio de 2025** Se añade un nuevo campo para enviar el tipo de operación de salud que se está facturando, el campo llamado "operation_type" dentro del objeto "healthcare_company" se vuelve obligatorio si el tipo de factura de venta está marcada para uso del sector salud y puede tener los valores "SS-Recaudo", "SS-SinAporte" y "SS-CUFE". Encuentra todo el detalle para crear facturas de venta de este tipo en nuestra sección <a href="https://siigoapi.docs.apiary.io/#reference/facturas-de-venta/crear-factura/crear-factura">**Crear Factura de venta**</a> y para notas crédito en <a href="https://siigoapi.docs.apiary.io/#reference/notas-credito/crear-nota-credito/crear-nota-credito">**Crear Nota Crédito**</a>. ## Nuevo endpoint de creación de Facturas de Venta en lote Ahora podrás crear facturas en lote de forma asíncrona con Siigo API. Encuentra mayor información en nuestra sección <a href="https://siigoapi.docs.apiary.io/#reference/facturas-de-venta/crear-lote-de-facturas-de-venta/crear-lote-de-facturas-de-venta">**Crear Lote de Facturas de venta**</a>. ## Nuevo endpoint de recibos de pago/egreso Ahora podrás crear, editar, consultar y eliminar recibos de pago/egreso. Encuentra mayor información en nuestra sección <a href="https://siigoapi.docs.apiary.io/#reference/recibos-de-pago-o-egreso/crear-recibo-de-pago-o-egreso/crear-recibo-de-pago-o-egreso">**Crear Recibo de pago o egreso**</a>. ## Enviar notas crédito electrónicas o vía mail Ahora podrás crear notas crédito y realizar el envio electrónico o via mail desde la petición POST. Encuentra mayor información sobre los objetos "stamp" y "mail" en nuestra sección <a href="https://siigoapi.docs.apiary.io/#reference/notas-credito/crear-nota-credito/crear-nota-credito">**Crear Nota Crédito**</a>. ## Nuevas funcionalidades para suscripciones de webhooks Ahora podrás consultar, editar y eliminar las suscripciones de webhooks en Siigo API. Toda la información la encuentras en de nuestra sección <a href="https://siigoapi.docs.apiary.io/#reference/webhooks">**Webhooks**</a>. ## Facturas de compra o gasto Ahora podrás crear, editar, eliminar y consultar facturas de compra desde Siigo API. Toda la información la encuentras en de nuestra sección <a href="https://siigoapi.docs.apiary.io/#reference/factura-de-compra-o-gasto">**Factura de compra**</a>. # Códigos de estado HTTP | Código | Mensaje | Descripción |------|------------------------|------------------------------------------- | 200 | OK | La solicitud ha tenido éxito.| | 201 | Created | La solicitud ha tenido éxito y se ha creado un nuevo recurso como resultado de ello.| | 400 | Bad Request | Existe un problema en el lado del cliente, a menudo debido a que falta un parámetro obligatorio.| | 401 | Unauthorized | No se ha proporcionado ningún access_token válido.| | 403 | Forbidden | El usuario asociado con el access_token no tiene permisos para realizar la solicitud.| | 404 | Not Found | El recurso solicitado no existe.| | 408 | Request Timeout | Siigo API no logró completar la solicitud dentro del tiempo que estaba preparado para esperar.| | 409 | Conflict | Solicitud HTTP válida, pero se está intentando poner los recursos del servidor en un estado imposible o inconsistente.| | 415 | Unsupported media type | Se envió un media type no soportado. El servidor podría haber estado esperando JSON y el cliente envió XML.| | 429 | Too Many Requests | Se han enviado demasiadas solicitudes en un corto periodo de tiempo ("rate limiting") Puedes enviar hasta 100 peticiones por minuto como máximo.| | 500 | Internal Server Error | Error no controlado durante el proceso de la solicitud.| | 503 | Service Unavailable | Siigo API actualmente no está disponible debido a una sobrecarga temporal o mantenimiento programado.| | 504 | Timed Out | Siigo API no ha podido responder en los tiempos requeridos debido a una sobrecarga temporal.| # Manejo de errores Los errores en Siigo API tienen la siguiente estructura: ```json { "Status": 400, "Errors": [ { "Code": "parameter_required", "Message": "The field code is required", "Params": [ "code" ], "Detail": "Check the API documentation: [url_to_documentation]" } ] } ``` - **Status**: Siigo utiliza códigos de respuesta HTTP para indicar el éxito o fracaso de una solicitud de API. - **Code**: Para algunos errores que podrían manejarse mediante programación, se muestra una cadena corta que indica el código de error. - **Message**: Mensaje con la explicación del error. - **Param**: Si el error es específico del parámetro, el parámetro relacionado con el error. - **Detail**: Mensaje que proporciona más detalles acerca del error. # Límite de solicitudes Es importante tener en cuenta en el momento de construir tu integración, que puedes enviar como máximo 100 peticiones por minuto a Siigo API por cada empresa de Siigo Nube. # Tiempos de respuesta Los tiempos de respuesta de Siigo API en promedio se encuentran por debajo de los 2 segundos, sin embargo, recomendamos establecer tiempos de espera de 120 segundos o más, antes de romper la conexión o cancelar un request, especialmente en creaciones de comprobantes como facturas de venta, notas crédito, recibos de caja y/o comprobantes contables ya que en picos altos de uso algunas transacciones podrían tardar más de lo esperado. # Partner-Id Para nosotros es muy importante conocer tu integración para poder brindarte un mejor acompañamiento, monitoreo y soporte. En todos los request que envíes a Siigo API debes enviar un Header llamado Partner-Id, en el "value" de este header se debe enviar el nombre del software/aplicación que estás integrando con Siigo Nube, este debe tener entre 3 y 100 caracteres alfanuméricos, sin espacios en blanco ni caracteres especiales. Por ejemplo, si tienes una integración propia, deberás enviar el nombre de la aplicación integrada; si eres un tercero que realiza las integraciones para otras empresas, debes colocar el nombre de tu empresa o la aplicación que se está integrando. Si estás construyendo una integración para más de una empresa en Siigo Nube, debes enviar el mismo value para todas las empresas. Siigo estará monitoreando continuamente esta información y bloqueará a usuarios API que no estén enviando información real en este header. # Idempotencia Siigo API admite la propiedad de idempotencia para reintentar solicitudes de forma segura sin tener problemas de duplicidad en peticiones tipo **POST** de comprobantes como: - Facturas de venta: https://api.siigo.com/v1/invoices - Notas crédito : https://api.siigo.com/v1/credit-notes - Comprobantes contables: https://api.siigo.com/v1/journals - Recibos de caja: https://api.siigo.com/v1/vouchers Para esto se debe enviar un header llamado "Idempotency-Key", en el cual se debe enviar un identificador único para cada uno de los comprobantes que quiera crear en Siigo Nube. Con este Idempotency-Key puede realizar reintentos de manera segura sin riesgo de crear un nuevo comprobante, ya que si envia el mismo Idempotency-Key y el documento ya se encuentra creado, Siigo API retornará la información del comprobante creado previamente. **Caracteristicas del campo:** Opcional, alfanumérico, sin caracteres especiales, sin espacios en blanco, máximo 30 caracteres. No envÍe el header Idempotency-Key en peticiones tipo GET, PUT O DELETE. Debido a que no tendrian ningun efecto. # Bloqueo de usuarios Se bloqueará de manera temporal tu usuario de Siigo API si realizas un uso incorrecto de nuestro servicio, si durante 7 días la proporción de errores enviados supera el 80% del total de requests que envías a Siigo API, serás notificado por mail con el bloqueo temporal de tu usuario y el bloqueo será hasta que hagas las correcciones correspondientes, en dicho proceso podemos acompañarte y asesorarte. # Códigos de error A continuación se muestra la lista de posibles códigos de error con información adicional sobre cómo resolverlos. ## `already_exists` Este error ocurre cuando se intenta crear un registro ya existente en Siigo Nube. Usa un valor diferente y único para el id o código e intenta nuevamente. ## `disabled_functionality` Este error ocurre cuando la funcionalidad esta temporalmente inhabilitada. ## `company_settings` Este error ocurre cuando se se envía algún parámetro que no está configurado en tu organización. Puedes validar en el menú *Configuración* `>` *Más Configuraciones* `>` *Organización* `>` *Perfil de la organización* la configuración de Moneda extrajera y Datos tributarios. ## `customer_settings` Este error ocurre cuando se quiere crear un documento y el tercero relacionado NO tiene creados contactos en su perfil, se debe garantizar que existan los contactos, bien sea en Siigo Nube o a través de Siigo API en el endpoint de customers. ## `delete_not_allowed` El recurso no se puede eliminar porque tiene movimientos o transacciones relacionadas. ## `blocked_transactions` La fecha de creación del documento es menor o igual al bloqueo de transacciones en Siigo Nube, por favor revisar esta configuración un usuario administrador por la ruta: *Configuración* `>` *Transacciones* `>` *Procesos* `>` *Bloqueo por fecha para transacciones* ## `disabled_functionality` Se está intentando enviar una petición a una funcionalidad que se encuentra inhabilitada de forma temporal o permanente. ## `documents_service` El servicio de documentos no esta disponible, intente en unos minutos. ## `document_settings` Este error ocurre cuando se envía algún parámetro que no está configurado en el comprobante. Verifica la configuración de los siguientes parámetros de Factura de Venta en el menú *Configuración* `>` *Transacciones* `>` *Facturas* `>` Elige el tipo de factura * Vendedor por ítem * Centro de costos * Numeración automática * Descuentos por valor o porcentaje * Decimales Más información en: https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/configuracion-factura-de-venta/ ## `duplicated_document` El documento ya existe, por favor valide la información, para prevenir la generación de documentos duplicados utilice el header “Idempotency-Key” para identificar los documentos, encuentre más información en: https://siigoapi.docs.apiary.io/#introduction/idempotencia. ## `header_required` No se está enviando una cabecera que es requerida en las peticiones, revisa que se esté enviando la cabecera "Partner-Id" con el nombre de la aplicación que estás integrando en el value, encuentra más información de esta cabecera <a href="https://siigoapi.docs.apiary.io/#introduction/partner-id">aquí</a> . ## `invalid_array` Este error ocurre cuando se envía un array con valores inválidos. * **Contacts:** Este error ocurre al exceder la cantidad máxima de contactos, puedes crear hasta 10 contactos por cliente. * **Name:** Debes verificar los siguientes escenarios: Si estás creando un cliente tipo 'Person' { "name": [ "Marcos", "Castillo" ], } Si estás creando un cliente tipo 'Company' { "name": [ "Stark Industries" ], } * **Payments:** Este error ocurre al envíar formas de pago inválidas, debes consultar las formas de pago válidas y verificar si son de tipo cartera: Si ingresa dinero o proveedor: En caso de compras. * **Prices:** Este error ocurre al exceder la cantidad máxima de Listas de precio, puedes crear hasta 12 Listas de precio por producto. * **Retentions:** De acuerdo a la configuración del comprobante en el menú *Configuración* `>` *Transacciones* `>` *Facturas*, sección Datos tributarios, puedes utilizar los siguientes tipos de retenciones: ReteIVA: Se aplica sobre el valor del IVA facturado. ReteICA: Se aplica sobre el subtotal de la factura. Autorretención: Se aplica si el subtotal de la factura es mayor al tope mínimo configurado. * **Taxes:** Este error ocurre: `-` Si envías más de la cantidad de impuestos permitidos, puedes enviar hasta 3 impuestos. `-` Si envías Iva y Ad Valorem en el mismo producto de una factura. `-` Si envías un mismo tipo de impuesto más de una vez. `-` Si envías un reteIVA o reteICA en los items de factura. * **Items:** Este error ocurre: `-`En recibo de caja si envías items en un Anticipo o en un Abono a deuda el mismo vencimiento más de una vez. `-`En factura de venta y notas crédito si envías más de 500 items ## `invalid_amount` El valor especificado no es válido. El monto debe ser un número positivo en la unidad monetaria correspondiente y no exceder el monto mínimo o máximo (99,999,999,999.99). **Consideraciones** El total de `payments` debe coincidir con el total de la factura, el valor máximo es máximo (9,999,999,999,999.99). El valor de `advance_payment` debe ser mayor al subtotal de la factura. El campo de `price` permite hasta 6 decimales. Los demás campos como `advance_payment` y `discount` permiten hasta 2 decimales. No puede enviar un valor mayor al valor del saldo de la "cuota". ## `invalid_code` El código no puede tener comillas simples (') ni espacios. Expresión regular: `^[^'\s]+$` ## `invalid_cost_center` Por favor verifica el identificador del centro de costos. <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/centros-de-costo/centros-de-costo">/cost-centers</a> ## `invalid_currency` No es necesario que envíes este campo si estás manejando la moneda local. En nota crédito debe coincider la moneda de la factura de venta. ## `invalid_date` Estás enviando una fecha inválida, para facturas de venta electrónicas no puedes enviar una fecha inferior a la fecha actual. Tambien verifica los formatos válidos para las fechas: Date: `yyyy-MM-dd` Date and time in UTC: `yyyy-MM-ddTHH:mm:ssZ` Para creación o edición de Facturas de venta o Notas crédito de tipo electrónico, NO puedes enviar una fecha anterior a la fecha actual. ## `invalid_description` Estás enviando una descripción inválida. Expresión regular: `@"^$|^[\w\.@-\\%_;()\]#?¡[/:{ } *+,$&quot;\sñáéíóúÁÉÍÓÚüÜ\-&quot;]+$"` ## `invalid_document` El `id` del tipo de comprobante no corresponde al que estás creando. <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> En Nota Crédito, debes verificar que `invoice` sea del mismo `electronic_type`. Si se está usando un tipo de comprobante con marcación `electronica` en su definición, esta debe estar `enviada` ante la DIAN si se desea aplicar nota crédito. ## `invalid_email` La dirección de correo electrónico no es válida, verifica que la dirección de correo electrónico tenga el formato correcto. Expresión regular: `^([-+.]*\w)+[-+.]*@([\w-]+\.)+[\w-]{2,}$` ## `invalid_identification` Estás enviando una identificación inválida. Expresión regular: `@"^[\d\w]{1}[\d\w\-]+[\d\w]{1}$"` ## `invalid_idempotency-key` Estás enviando un idempotency-key inválido, este header es alfanumérico, sin caracteres especiales y de máximo 32 caracteres. ## `invalid_name` Estás enviando un nombre inválido. Expresión regular: `@"^[\w\.@-\\%_;()\]#?¡[/:{ } *+,$&quot;\sñáéíóúÁÉÍÓÚüÜ\-&quot;]+$"` ## `invalid_payment` El error sucede si: si envías una forma de pago inválida para el tipo de comprobante (Factura de Venta, Nota Crédito, Recibo de Caja). se envía payment en un recibo de caja avanzado. ## `invalid_partner_id` Estas enviando el header Partner-Id con un formato inválido, en este header no se aceptan caracteres especiales, espacios en blanco y debe contener entre 3 y 100 caracteres. ## `payment_types_service` El servicio no está disponible por el momento. inténtalo en unos minutos. ## `invalid_range` El campo solo permite un valor entre los rangos indicados. En generación de reportes de balance de prueba general o balance de prueba por tercero: se da cuando se envía un valor que no está entre 1 y 13 en los parámetros "month_start" o "month_end" ## `invalid_reference` Este error ocurre cuando envías un id o código que no existe. Verifica los <a href="https://siigoapi.docs.apiary.io/#reference/catalogos">Catálogos.</a> En generación de reportes de balance de prueba general o balance de prueba por tercero: se da cuando se envía una cuenta contable inexistente en alguno de los parametros "account_start" o "account_end" ## `invalid_total_payments` El sistema valida que el valor total pagado *(suma de payments[i].value)* coincida con el total de la factura (suma de los totales de los ítems). El total por ítem se calcula así: ``` ValorBase = Redondear(Cantidad * ValorUnitario - Descuento, 2) IVA = Redondear((baseValue * PorcentajeIVA)/100, 2) TotalItem = Redondear(ValorBase + IVA, 2) ``` *Ejemplo:* ``` Cantidad = 10 ValorUnitario = 100.00 Descuento = 50.00 ValorBase = Redondear(10 * 100.00 - 50.00, 2) = 950.00 IVA = Redondear((950.00 * 19)/100, 2) = 180.50 TotalItem = Redondear(950.00 + 180.50, 2) = 1130.50 ``` ## `invalid_retentions` De acuerdo a la configuración del comprobante en el menú *Configuración* `>` *Transacciones* `>` *Facturas*, sección Datos tributarios, puedes utilizar los siguientes tipos de retenciones: ReteIVA: Se aplica sobre el valor del IVA facturado. ReteICA: Se aplica sobre el subtotal de la factura. Autorretención: Se aplica si el subtotal de la factura es mayor al tope mínimo configurado. ## `invalid_type` El tipo de dato enviado es inválido. ## `invalid_url` La URL proporcionada no es válida. Verifica que la URL esté formateada correctamente. ## `update_not_allowed` No se puede actualizar el grupo de inventarios del producto, debido a que ya tiene movimientos. ## `invalid_value` El valor especificado no es válido. (Cantidades, Consecutivos y Cuotas) ## `length_max` Verifica que no superas la longitud máxima del campo indicada en el mensaje del error. ## `length_min` Verifica la longitud mínima del campo indicada en el mensaje del error. ## `not_found` Recurso no encontrado. ## `parameter_empty` Se utiliza para los campos unit y fiscal responsabilities, debes verificar que envías un valor válido. Si no se envía se asigna el valor por defecto. ## `parameter_inactive` El parámetro que estás utilizando está inactivo. Usa un parámetro diferente o activa el parámetro actual nuevamente. Usuarios: Puedes validar en en Siigo Nube en el menú lateral: *Reportes* `>` *Más reportes* `>` *Usuarios* `>` *Administración de usuarios* Formas de Pago: Puedes validar en en Siigo Nube en el menú lateral: *Configuración* `>` *Transacciones* `>` *Catálogos* `>` *Formas de Pago* Impuestos: Puedes validar en Siigo Nube en el menú lateral: *Configuración* `>` *Transacciones* `>` *Catálogos* `>` *Impuestos* Listas de Precios: Puedes validar en en Siigo Nube en el menú *Configuración* `>` *Más Configuraciones* `>` *Inventarios* `>` *Listas de precios* ahi puedes habilitar hasta 12 de listas de precios. ## `parameter_required` No se proporcionaron uno o más valores obligatorios. Asegúrate de que las solicitudes incluyan todos los parámetros necesarios. Formas de Pago: Debes enviar el query parameter document_type=FV (FV, NC y RC) ## `parameters_exclusive` Se proporcionó un valor no permitido, consulta la documentación de nuestra API o el mensaje de error devuelto para verificar los valores que están permitidos al crear o modificar el recurso especificado. ## `invalid_plan_type` Se proporcionó un valor no permitido, su plan no tiene límite de documentos. ## `invalid_account` En generación de comprobantes contables: se proporcionó un número de cuenta contable inexistente. En generación de reportes de balance de prueba general o balance de prueba por tercero: se da cuando "account_start" corresponde a una cuenta contable mayor que "account_end" En generación de facturas de compra, cuando en los ítems de tipo "account" cuando se usa una cuenta contable relacionada con grupos de inventario, activos fijos o impuestos en Siigo Nube. ## `product_settings` Este error sucede si envías una bodega en la creación de factura y el producto no maneja control de inventarios. ## `requests_limit` Están llegando solicitudes demasiado rápido a la API. Recomendamos una retirada exponencial de sus solicitudes. *Importante:* `>` Para la empresa de pruebas las solicitudes son de 10 request por minuto `>` Empresas en producción son 100 request por minuto. ## `unauthorized` No estás autorizado, verifica el token de acceso. El token de acceso puede estar vencido o ser inválido. O el usuario asociado puede estar bloqueado. ## `unhandled_error` Error no controlado, escríbenos a soporteapi@siigo.com para ayudarte y dar claridad a este error. ## `request_timeout` Siigo API no logró completar la solicitud dentro del tiempo que estaba preparado para esperar. Puede intentar de nuevo en unos segundos. ## `service_unavailable` Siigo API actualmente no está disponible debido a una sobrecarga temporal o mantenimiento programado. Puede intentar de nuevo en unos segundos. ## `warehouse_settings` Este error sucede si envías una bodega en la creación de factura o nota crédito y NO está activo el manejo de bodegas. Puedes validar en el menú *Configuración* `>` *Más Configuraciones* `>` *Inventarios* `>` *Configuración de bodegas* la habilitación de uso de bodegas. ## `invalid_balance` Este error aparece cuando la suma de los debitos y créditos nos son iguales. ## `values_limit` Este error aparece cuando se ha excedido él limite de los valores permitidos. ## `invalid_date_range` Este error aparece cuando las fechas que se proporcionan no están en un rango válido. ## `date_settings` Este error aparece cuando la fecha que se proporcionan en la elaboración del comprobante no es permitida. ## `parameter_not_allowed` Este error aparece cuando se envía el campo de vat_excluded: true, y no se está en la fecha correcta para los dias de la exención de IVA. Puede presentarse al enviar un "id" invalido para el tipo de impuesto que se desea manejar, ejemplo: Enviar un valor de imp.consumo y un "id" de un impuesto de retención. ## `non_editable` Este error ocurre cuando se cambian datos que NO son editables ## `entry_service` No es posible completar su solicitud con las condiciones actuales. ## `general_service` El servicio no está disponible por el momento. Inténtalo en unos minutos. # Facturación Electrónica Puedes enviar a la DIAN y por mail tus facturas de venta desde su creación en Siigo API, en caso de que no desees hacerlo automáticamente, puedes hacerlo de forma manual en Siigo Nube, mediante alguna de las siguientes opciones: * Ingresar a Siigo Nube menú `>` *Facturación Electrónica* `>` *Otras opciones…* `>` *Envío masivo de comprobantes electrónicos* ![envio_masivo](https://siigonube.portaldeclientes.siigo.com/wp-content/uploads/2020/04/api-15-1024x211.png) * Ingresar a Siigo Nube, desde la factura dar clic en el botón Enviar electrónicamente ![envio_individual](https://siigonube.portaldeclientes.siigo.com/wp-content/uploads/2020/04/api-16-1024x396.png) # Data Structures ## AccountGroup (object) + id: 1253 (number,required) - Identificador único de la clasificación de inventario. + name: Productos (string,required) - Nombre de la clasificación de inventario. + active: true (boolean,required) - Indica si la clasificación de inventario está en uso. ## AccountGroupOut (object) + id: 1253 (number,required) - Identificador único de la clasificación de inventario. + name: Productos (string) - Nombre de la clasificación de inventario. ## ProductType (enum) + `Product` - Producto + `Service` - Servicio + `ConsumerGood` - Consumo ## TaxClassification (enum) + `Taxed` - Gravado + `Exempt` - Exento + `Excluded` - Excluido ## AssetGroup (object) + id: 1258 (number,required) - Identificador único del grupo de activos fijos. + name: Equipo de computación (string,required) - Nombre del grupo de activo. + active: true (boolean,required) - Indica si el grupo de activos está en uso. ## TaxType (enum) + `IVA` + `Retefuente` + `ReteIVA` + `ReteICA` + `Impoconsumo` + `AdValorem` + `Autorretencion` ## PaymentType (enum) + `Cartera` - Factura de venta y Recibo de Caja + `Proveedor` - Factura de Compra y Recibo de Pago + `CarteraProveedor` - Cartera/Proveedores ## DocumentType (enum) + `FV` - Factura de Venta + `RC` - Recibo de Caja + `NC` - Nota Crédito + `FC` - Factura de Compra + `CC` - Comprobante Contable ## DiscountType (enum) + `Percentage` - Maneja descuento por Porcentaje + `Value` - Maneja descuento por Valor ## ElectronicType (enum) + `NoElectronic` - Factura por computador / No electrónica + `Electronicvoice` - Factura electrónica de venta + `ContingencyInvoice` - Documento electrónico de transmisión - tipo 03 (Contingencia) + `ExportInvoice` - Factura electrónica de venta - exportación ## TokenIn (object) + username: sandbox@siigoapi.com (string,required) - Usuario + access_key: NDllMzI0NmEtNjExZC00NGM3LWE3OTQtMWUyNTNlZWU0ZTM0OkosU2MwLD4xQ08= (string,required) - Access Key ## TokenOut (object) + access_token: access token (string) - Access Token + expires_in: 86400 (number) - Expiración en milisegundos + token_type: Bearer (string) - Tipo de Token + scope: SiigoAPI (string) - Alcance ## Fixedassets (object) + id: 13156 (number,required) - Identificador único del activo fijo. + name: Equipo de oficina (string,required) - Nombre del Activo. + group: Equipo de computación (string,required) - Nombre del grupo de activo. + active: true (boolean,required) - Indica si el activo está en uso. ## Tax (object) + id: 13156 (number,required) - Identificador único del impuesto. + name: IVA 19% (string,required) - Nombre del impuesto. + type: IVA (TaxType,required) - Tipo del impuesto. + percentage: 19.00 (number,required) - Porcentaje del impuesto. + active: true (boolean,required) - Indica si el impuesto está en uso. ## GlobalDiscountsIn (object) + id: 13156 (number,required) - Identificador único del descuento global. + percentage: 10.00 (number,required) - Porcentaje del descuento global. + value: 100.0 (number,required) - Indica el valor del descuento global. ## GlobalDiscountsOut (object) + id: 13156 (number,required) - Identificador único del descuento global. + name: Descuento porcentual (string,required) - Nombre del descuento global. + percentage: 10.00 (number,required) - Porcentaje del descuento global. + value: 100.0 (number,required) - Indica el valor del descuento global. ## TaxIn (object) + id: 13156 (number,required) - Identificador único del impuesto. ## TaxInProduct (object) + id: 13156 (number,required) - Identificador único del impuesto. + milliliters: 1000 (number) - Número de mililitros del producto. + rate: 35 (number) - Tarifa del impuesto de bebidas azucaradas. ## TaxRet (object) + id: 13156 (number,required) - Identificador único del impuesto. ## TaxOut (object) + id: 13156 (number) - Identificador único del impuesto. + name: IVA 19% (string) - Nombre del impuesto. + type: IVA (TaxType) - Tipo del impuesto. + percentage: 19.00 (number) - Porcentaje del impuesto. ## TaxOutInvoice (object) + id: 13156 (number) - Identificador único del impuesto. + name: IVA 19% (string) - Nombre del impuesto. + type: IVA (TaxType) - Tipo del impuesto. + percentage: 19 (number) - Porcentaje del impuesto. + value: 406.51 (number) - Valor del impuesto. ## RetentionOutInvoice (object) + id: 34072 (number) - Identificador único del impuesto. + name: ReteIVA 15% (string) - Nombre del impuesto. + type: ReteIVA (TaxType) - Tipo del impuesto. + percentage: 15 (number) - Porcentaje del impuesto. + value: 60.98 (number) - Valor del impuesto. ## PriceList (object) + id: 2766 (number,required) - Identificador único de la lista de precio. + name: Precio de venta 1 (string) - Nombre de la lista de precio. + active: true (boolean) - Indica si la lista de precio está en uso. + position: 1 (number) - Posición de la lista de precio. ## PriceIn + currency_code: COP (string,required) - Código de moneda + price_list (array[PriceListIn],required) - Lista de precios ## PriceOut + currency_code: COP (string,required) - Código de moneda + price_list (array[PriceListOut],required) - Lista de precios ## PriceListIn (object) + position: 1 (number,required) - Identificador único de la lista de precio. + value: 12000 (number,required) - Valor de la lista de precio. ## PriceListOut (object) + position: 1 (number) - Identificador único de la lista de precio. + name: Precio de venta 1 (string) - Nombre de la lista de precio. + value: 12000 (number) - Valor de la lista de precio. ## UnitOut (object) + code: 94 (string,required) - Código de la unidad de medida. + name: unidad (string) - Nombre de la unidad de medida. ## AdditionalFields (object) + barcode: B0123 (string) - Código de barras. + brand: Gef (string) - Marca. + tariff: 151612 (string) - Código arancelario. + model: Loiry (string) - Modelo. ## Warehouse (object) + id: 1270 (number,required) - Identificador único de la bodega. + name: Bodega principal (string) - Nombre de la bodega. + active: true (boolean) - Indica si la bodega está en uso. + has_movements: true (boolean) - Indica si la bodega tiene movimientos. ## WarehouseProduct (object) + id: 1270 (number,required) - Identificador único de la bodega. + name: Bodega principal (string) - Nombre de la bodega. + quantity: 1 (number) - Cantidad disponible. ## WarehouseOutInvoice (object) + id: 1270 (number,required) - Identificador único de la bodega. + name: Bodega principal (string) - Nombre de la bodega. ## User (object) + id: 35071 (number,required) - Identificador único del usuario o vendedor. + username: usuario@prueba.com (string, required) - Nombre de usuario. + first_name: David Felipe (string, required) - Nombre del usuario. + last_name: Yepes Sánchez (string, required) - Apellido del usuario. + email: usuario@prueba.com (string, required) - Correo del usuario. + active: true (boolean,required) - Estado del usuario. + identification: 13832082 (string, required) - Número de identificación del usuario. ## PaymentTypes (object) + id: 5636 (number,required) - Identificador único de la forma de pago. + name: Crédito (string, required) - Nombre de la forma de pago. + `type` (PaymentType, required) - Tipo de la forma de pago. + active: true (boolean, required) - Estado de la forma de pago. + due_date: true (boolean, required) - Indica si la forma de pago maneja fecha de vencimiento. ## Document (object) + id: 24446 (number) - Identificador único del comprobante. + code: 1 (string) - Código del comprobante. + name: Factura (string) - Nombre o título del comprobante. + description: Factura de venta (string) - Descripción del comprobante. + `type` (DocumentType) - Tipo de comprobante. + active: true (boolean) - Estado del comprobante. + seller_by_item: false (boolean) - Maneja vendedor por ítem. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 3 (number) - Consecutivo. + `discount_type` (DiscountType) - Maneja descuento por Porcentaje o Valor. + decimals: true (boolean) - Maneja decimales. + advance_payment: false (boolean) - Maneja copagos / anticipos. + reteiva: true (boolean) - Maneja reteIVA. + reteica: true (boolean) - Maneja reteICA. + self_withholding: false (boolean) - Maneja autorretención decreto 2201. + self_withholding_limit: 0 (number) + `electronic_type` (ElectronicType) - Indica el tipo de factura. ## DocumentTypeFV (object) + id: 24446 (number) - Identificador único del comprobante. + code: 1 (string) - Código del comprobante. + name: Factura (string) - Nombre o título del comprobante. + description: Factura de venta (string) - Descripción del comprobante. + `type` (DocumentType) - Tipo de comprobante. + active: true (boolean) - Estado del comprobante. + seller_by_item: false (boolean) - Maneja vendedor por ítem. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 3 (number) - Consecutivo. + `discount_type` (DiscountType) - Maneja descuento por Porcentaje o Valor. + decimals: true (boolean) - Maneja decimales. + advance_payment: false (boolean) - Maneja copagos / anticipos. + reteiva: true (boolean) - Maneja reteIVA. + reteica: true (boolean) - Maneja reteICA. + self_withholding: false (boolean) - Maneja autorretención decreto 2201. + self_withholding_limit: 0 (number) + `electronic_type` (ElectronicType) - Indica el tipo de factura. + cargo_transportation: true (boolean) - Maneja campos del sector transporte. + healthcare_company: true (boolean) - Maneja campos del sector salud. + customer_by_item: true (boolean) - Maneja ingresos para terceros. ## DocumentTypeFC (object) + id: 24446 (number) - Identificador único del comprobante. + code: 1 (string) - Código del comprobante. + name: Factura (string) - Nombre o título del comprobante. + description: Factura de Compra (string) - Descripción del comprobante. + type: FC - Tipo de comprobante. + active: true (boolean) - Estado del comprobante. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 3 (number) - Consecutivo. + decimals: true (boolean) - Maneja decimales. + consumption_tax: true (boolean) - Maneja impuesto al consumo. + reteiva: true (boolean) - Maneja reteIVA. + reteica: true (boolean) - Maneja reteICA. + document_support: true (boolean) - Usa como documento soporte. ## DocumentTypeRC (object) + id: 59625 (number) - Identificador único del tipo de comprobante. + code: 1 (string) - Código del tipo comprobante. + name: Recepción (string) - Nombre o título del tipo de comprobante. + description: Recepción de pago (string) - Descripción del tipo de comprobante. + type: RC (string) - Tipo de comprobante. + active: true (boolean) - Estado del tipo de comprobante. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + cost_center_default: 1513 (number) - Identificador el número del centro de costos por defecto. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 3 (number) - Consecutivo. ## DocumentTypeRP (object) + id: 59625 (number) - Identificador único del tipo de comprobante. + code: 1 (string) - Código del tipo comprobante. + name: Recibo de pago (string) - Nombre o título del tipo de comprobante. + description: Recibo de pago / egreso (string) - Descripción del tipo de comprobante. + type: RP (string) - Tipo de comprobante. + active: true (boolean) - Estado del tipo de comprobante. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + cost_center_default: 1513 (number) - Identificador el número del centro de costos por defecto. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 3 (number) - Consecutivo. ## DocumentTypeNC (object) + id: 59625 (number) - Identificador único del tipo de comprobante. + code: 1 (string) - Código del tipo comprobante. + name: Nota Crédito (string) - Nombre o título del tipo de comprobante. + description: Nota Crédito (string) - Descripción del tipo de comprobante. + type: NC (string) - Tipo de comprobante. + active: true (boolean) - Estado del tipo de comprobante. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + cost_center_default: 1513 (number) - Identificador el número del centro de costos por defecto. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 3 (number) - Consecutivo. + customer_by_item: true (boolean) - Maneja ingresos para terceros. ## DocumentTypeCC (object) + id: 59625 (number) - Identificador único del tipo de comprobante. + code: A1 (string) - Código del tipo comprobante. + name: Ajustes contables (string) - Nombre o título del tipo de comprobante. + description: Ajustes contables (string) - Descripción del tipo de comprobante. + type: CC (string) - Tipo de comprobante. + active: true (boolean) - Estado del tipo de comprobante. + cost_center: false (boolean) - Maneja centro de costos. + cost_center_mandatory: false (boolean) - El centro de costos es obligatorio. + cost_center_default: 1513 (number) - Identificador el número del centro de costos por defecto. + automatic_number: true (boolean) - Maneja numeración automática. + consecutive: 13 (number) - Consecutivo. ## CostCenter (object) + id: 25732 (number,required) - Identificador único del centro de costo. + code: 13-1 (string, required) - Código del centro de costo. + name: Principal (string, required) - Nombre del centro de costo. + active: true (boolean,required) - Estado del centro de costo. ## IdType (object) + code: 13 (string, required) - Código del tipo de documento. + name: Cédula de ciudadanía (string, required) - Nombre del tipo de documento. ## Currency (object) + code: USD (string,required) - Código de moneda. + exchange_rate: ``3825.03`` (number,required) - Tasa / Valor en moneda extranjera. ## Discount (object) + percentage: 13 (number) - Porcentaje de descuento + value: 130 (number) - Valor de descuento ## ProductIn (object) + code: ``Item-1`` (string, required) - Código único del producto. + name: Camiseta de algodón (string, required) - Nombre del producto / servicio. + account_group: 1253 (number,required) - ID de la clasificación de inventario. + `type` (ProductType, required) - Tipo de producto, valor por default Product + stock_control: false (boolean) - Control de inventario, valor por default false. + active: true (boolean) - Estado del producto en Siigo, valor por default true. + tax_classification (TaxClassification) - Clasificación tributaria, valor por default Gravado. + tax_included: false (boolean) - IVA incluido. + tax_consumption_value: 0 (number) - Valor impuesto al consumo. + taxes (array[TaxInProduct]) - Impuestos que se desean asociar al producto o servicio. + prices (array[PriceIn]) - Son valores de venta que manejan cada uno de los productos o servicios, en Siigo es posible manejar hasta 12 precios de venta. + unit: 94 (string) - Código de la unidad de medida del producto para factura electrónica, valor por default 94. + unit_label: unidad (string) - Unidad de medida para impresión factura. + reference: REF1 (string) - Referencia o código de fábrica del producto o servicio. + description: Camiseta de algodón blanca (string) - Descripción del producto o servicio. + additional_fields (AdditionalFields) - Campos adicionales como: Código de barras, Marca, Código arancelario, Modelo. ## ProductOutCreate (object) + id: ``00584089-4ebc-49de-bf75-6a6cc968a96d`` (string) - Identificador del producto. + code: ``Item-1`` (string, required) - Código único del producto. + name: Camiseta de algodón (string, required) - Nombre del producto / servicio. + account_group (AccountGroupOut) - ID de la clasificación de inventario. + `type` (ProductType, required) - Tipo de producto, valor por default Product + stock_control: false (boolean) - Control de inventario, valor por default false. + active: true (boolean) - Estado del producto en Siigo, valor por default true. + tax_classification (TaxClassification) - Clasificación tributaria. + tax_included: false (boolean) - IVA incluido. + tax_consumption_value: 0 (number) - Valor impuesto al consumo. + taxes (array[TaxOut]) - Impuestos que se desean asociar al producto o servicio. + prices (array[PriceOut]) - Son valores de venta que manejan cada uno de los productos o servicios, en Siigo es posible manejar hasta 12 precios de venta. + unit (UnitOut) - Código de la unidad de medida del producto para factura electrónica, valor por default 94. + unit_label: unidad (string) - Unidad de medida para impresión factura. + reference: REF1 (string) - Referencia o código de fábrica del producto o servicio. + description: Camiseta de algodón blanca (string) - Descripción del producto o servicio. + additional_fields (AdditionalFields) - Campos adicionales como: Código de barras, Marca, Código arancelario, Modelo. + available_quantity: 0 (number) - Indica la cantidad disponible en el inventario. Si el producto se encuentra distribuido en múltiples bodegas, este atributo retorna la cantidad disponible en todas las bodegas. + warehouses (array) - Indica las bodegas asociadas al producto. + metadata (MetadataCreate) - Información acerca de la entidad. ## ProductOut (object) + id: ``00584089-4ebc-49de-bf75-6a6cc968a96d`` (string) - Identificador del producto. + code: ``Item-1`` (string, required) - Código único del producto. + name: Camiseta de algodón (string, required) - Nombre del producto / servicio. + account_group (AccountGroupOut) - ID de la clasificación de inventario. + `type` (ProductType, required) - Tipo de producto, valor por default Product + stock_control: false (boolean) - Control de inventario, valor por default false. + active: true (boolean) - Estado del producto en Siigo, valor por default true. + tax_classification (TaxClassification) - Clasificación tributaria. + tax_included: false (boolean) - IVA incluido. + tax_consumption_value: 0 (number) - Valor impuesto al consumo. + taxes (array[TaxOut]) - Impuestos que se desean asociar al producto o servicio. + prices (array[PriceOut]) - Son valores de venta que manejan cada uno de los productos o servicios, en Siigo es posible manejar hasta 12 precios de venta. + unit (UnitOut) - Código de la unidad de medida del producto para factura electrónica, valor por default 94. + unit_label: unidad (string) - Unidad de medida para impresión factura. + reference: REF1 (string) - Referencia o código de fábrica del producto o servicio. + description: Camiseta de algodón blanca (string) - Descripción del producto o servicio. + additional_fields (AdditionalFields) - Campos adicionales como: Código de barras, Marca, Código arancelario, Modelo. + available_quantity: 0 (number) - Indica la cantidad disponible en el inventario. Si el producto se encuentra distribuido en múltiples bodegas, este atributo retorna la cantidad disponible en todas las bodegas. + warehouses (array[WarehouseProduct]) - Indica las bodegas asociadas al producto. + metadata (Metadata) - Información acerca de la entidad. ## ProductsOutList (object) + `pagination` (Pagination) + results (array[ProductOut]) + _links - *previous* - href: https://api.siigo.com/v1/products?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/products?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/products?page=6&page_size=25 ## CustomerType (enum) + `Customer` - Cliente + `Supplier` - Proveedor + `Other` - Otros ## PersonType (enum) + `Person` - Persona + `Company` - Empresa ## City (object) + CityID: 12346 (string,required) - Código de la ciudad. + CountryCode: Co(string,required) - Código del país. + CountryName: Colombia (string,required) - Nombre del país. + StateCode: 11(string,required) - Código del departamento. + StateName: Bogotá D.C (string,required) - Nombre del departamento. + CityCode: 11001 (string,required) - Código de la ciudad. + CityName: Bogotá (string,required) - Nombre de la ciudad. ## CityIn (object) + country_code: Co (string, required) - Código del país. + state_code: 19 (string,required) - Código del departamento/estado. + city_code: 19001 (string,required) - Código de la ciudad. ## CityOut (object) + country_code: Co (string, required) - Código del país. + country_name: Colombia (string) - Nombre del país. + state_code: 19 (string,required) - Código del departamento/estado. + state_name: Cauca (string) - Nombre del departamento/estado. + city_code: 19001 (string,required) - Código de la ciudad. + city_name: Popayán (string) - Nombre de la ciudad. ## CityOutInvoice (object) + country_name: Colombia (string) - Nombre del país. + state_name: Cauca (string) - Nombre del departamento/estado. + city_name: Popayán (string) - Nombre de la ciudad. ## AddressIn (object) + address: ``Cra. 18 #79A - 42`` (string,required) - Dirección del cliente. + city (CityIn,required) - Ciudad del cliente. + postal_code: 110911 (string) - Código postal. ## AddressOut (object) + address: ``Cra. 18 #79A - 42`` (string,required) - Dirección del cliente. + city (CityOut,required) - Ciudad del cliente. + postal_code: 110911 (string) - Código postal. ## Phone (object) + indicative: 57 (string) - Indicativo + number: 3006003345 (string,required) - Número + extension: 132 (string) - Extensión ## PhoneContact (object) + indicative: 57 (string) - Indicativo + number: 3006003345 (string) - Número + extension: 132 (string) - Extensión ## Contact (object) + first_name: Marcos (string,required) - Nombres del contacto. + last_name: Castillo (string,required) - Apellidos del contacto. + email: marcos.castillo@contacto.com (string,required) - Correo electrónico del contacto. + phone (PhoneContact) - Indica el teléfono asociado al contacto. ## FiscalResponsabilityIn (object) + code: ``R-99-PN`` (string,required) - Código de la responsabilidad fiscal. ## FiscalResponsability (object) + code: ``R-99-PN`` (string,required) - Código de la responsabilidad fiscal. + name: ``No responsable`` (string) - Nombre de la responsabilidad fiscal. ## RelatedUsers (object) + seller_id: 629 (number) - Usuario vendedor asigando al cliente. + collector_id: 629 (number) - Usuario cobrador encargado del recaudo de cartera. ## CustomField (object) + key: webpage (string) - Tipo de atributo + value: www.siigo.com (string) - Valor del atributo ## MetadataCreate (object) + created: ``2020-06-15T03:33:17.208Z`` (string) - La fecha en la que se creó la entidad. + last_updated: null (string) - La fecha en la que se actualizó la entidad por última vez. ## xml (object) + id: ``b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`` (string) - Identificador de la Factura de Venta. + base64: ``Y29udGVuaWRvIGRlbCBwZGY=Y12dsfs54TY22gdfg`` (string) - XML de Factura de Venta. ## pdf (object) + id: ``b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`` (string) - Identificador de la Factura de Venta. + base64: ``Y29udGVuaWRvIGRlbCBwZGY=`` (string) - PDF de Factura de Venta. ## pdfNC (object) + id: ``b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`` (string) - Identificador de la Nota Crédito. + base64: ``Y29udGVuaWRvIGRlbCBwZGY=....`` (string) - PDF de Nota Crédito. ## fvRejected (object) + id: ``b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`` (string) - Identificador de la Factura de Venta. + errors (array[RejectedOut]) - Información del error. ## RejectedOut (object) + message: Error1 (string) - Motivo del rechazo por parte de la DIAN ## Metadata (object) + created: ``2020-06-15T03:33:17.208Z`` (string) - La fecha en la que se creó la entidad. + last_updated: null (string) - La fecha en la que se actualizó la entidad por última vez. ## CustomerIn (object) + `type` (CustomerType) - Tipo de cliente, valor por default Customer. + `person_type` (PersonType,required) - Tipo de persona. + id_type: 13 (string,required) - Código del tipo de identificación del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + check_digit: 4 (string) - Dígito verificación, se calcula automáticamente. + name: ``Marcos``,``Castillo`` (array[string], required) - Razón social o nombres y apellidos del cliente. Si "type": Company enviar name: ["Stark Industries"] Si "type": Person enviar name: ["Marcos" , "Castillo"] + commercial_name: Siigo (string) - Nombre comercial o Nombre de fantasía de la empresa ciente. + branch_office: 0 (number) - Sucursal, valor por default 0. + active: true (boolean) - Estado del cliente en Siigo, valor por default true. + vat_responsible: false (boolean) - Tipo de régimen IVA. True si es responsable de IVA, False si no es responsable de IVA, valor por default false. + fiscal_responsibilities (array[FiscalResponsabilityIn]) - Responsabilidades fiscales del cliente, valor por default R-99-PN. + address (AddressIn,required) - Información de país, ciudad y dirección del cliente. + phones (array[Phone],required) - Indica los teléfonos asociados al cliente. + contacts (array[Contact],required) - Indica los contactos asociados al cliente, se pueden asociar hasta 20 contactos. + comments: Comentarios (string) - Observaciones. + related_users (RelatedUsers) - Asigna el vendedor y el cobrador encargado del recaudo de cartera al cliente. ## CustomerInEc (object) + `type` (CustomerType) - Tipo de cliente, valor por default Customer. + `person_type` (PersonType,required) - Tipo de persona. + id_type: 13 (string,required) - Código del tipo de identificación del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + name: ``Marcos``,``Castillo`` (array[string], required) - Razón social o nombres y apellidos del cliente. Si "type": Company enviar name: ["Stark Industries"] Si "type": Person enviar name: ["Marcos" , "Castillo"] + commercial_name: Siigo (string) - Nombre comercial o Nombre de fantasía de la empresa ciente. + active: true (boolean) - Estado del cliente en Siigo, valor por default true. + address (AddressIn,required) - Dirección del cliente. + phones (array[Phone],required) - Indica los teléfonos asociados al cliente. + contacts (array[Contact],required) - Indica los contactos asociados al cliente. + comments: Comentarios (string) - Observaciones. + related_users (RelatedUsers) - Asigna el vendedor y el cobrador encargado del recaudo de cartera al cliente. ## CustomerOutEc (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del cliente. + `type` (CustomerType) - Tipo de cliente, valor por default Customer. + `person_type` (PersonType) - Tipo de persona. + id_type (IdType) - Tipo de identificación del cliente. + identification: 13832081 (string) - Número de identificación del cliente. + name: ``Marcos``,``Castillo`` (array[string]) - Razón social o nombres y apellidos del cliente. + commercial_name: Siigo (string) - Nombre comercial o Nombre de fantasía de la empresa cLiente. + active: true (boolean) - Estado del cliente en Siigo, valor por default true. + address (AddressOut) - Dirección del cliente. + phones (array[Phone]) - Indica los teléfonos asociados al cliente. + contacts (array[Contact]) - Indica los contactos asociados al cliente. + comments: Comentarios (string) - Observaciones. + related_users (RelatedUsers) - Asigna el vendedor y el cobrador encargado del recaudo de cartera al cliente. + metadata (Metadata) - Información acerca de la entidad. ## CustomerOut (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del cliente. + `type` (CustomerType) - Tipo de cliente, valor por default Customer. + `person_type` (PersonType,required) - Tipo de persona. + id_type (IdType,required) - Tipo de identificación del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + check_digit: 4 (string) - Dígito verificación, se calcula automáticamente. + name: ``Marcos``,``Castillo`` (array[string], required) - Razón social o nombres y apellidos del cliente. + commercial_name: Siigo (string) - Nombre comercial o Nombre de fantasía de la empresa cLiente. + branch_office: 0 (number) - Sucursal, valor por default 0. + active: true (boolean) - Estado del cliente en Siigo, valor por default true. + vat_responsible: true (boolean) - Tipo de régimen IVA. True si es responsable de IVA, False si no es responsable de IVA, valor por default false. + fiscal_responsibilities (array[FiscalResponsability]) - Responsabilidades fiscales del cliente, valor por default R-99-PN. + address (AddressOut,required) - Dirección del cliente. + phones (array[Phone],required) - Indica los teléfonos asociados al cliente. + contacts (array[Contact],required) - Indica los contactos asociados al cliente. + comments: Comentarios (string) - Observaciones. + related_users (RelatedUsers) - Asigna el vendedor y el cobrador encargado del recaudo de cartera al cliente. + metadata (Metadata) - Información acerca de la entidad. ## PurchaseOrder + prefix: OC (string) - Prefijo de orden de compra. + number: 23 (string) - Número de orden de compra. ## DeliveryOrder + prefix: OE (string) - Prefijo de orden de entrega. + number: Dos mil (string) - Número de orden de entrega. + date: ``2021-03-19`` (string,required) - Fecha de orden de entrega. ## AdditionalFieldsInvoice (object) + purchase_order (PurchaseOrder) - Orden de compra + delivery_order (DeliveryOrder) - Orden de entrega ## AdditionalFieldsInvoices (object) ## Pagination + page: 1 (number) + page_size: 25 (number) + total_results: 253 (number) # CustomersOutList (object) + `pagination` (Pagination) + results (array[CustomerOut]) + _links - *previous* - href: https://api.siigo.com/v1/customers?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/customers?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/customers?page=6&page_size=25 ## StampInDian (object) + send: true (boolean,required) - Indica nombre del estado ## StampOutDian (object) + status: Accepted + cufe: 7eb8c882cd62daffded44b7d08668d04383b579c86b5bf23dcb3d601a2347bac07a7e08ae2c3602787bfaf91691449a6 + observations: "", + errors: "" ## StampOutDianNC (object) + status: Accepted + cude: 7eb8c882cd62daffded44b7d08668d04383b579c86b5bf23dcb3d601a2347bac07a7e08ae2c3602787bfaf91691449a6 + observations: "", + errors: "" ## mailInCustomer (object) + send: true (boolean,required) - Indica nombre del estado ## mailOutCustomer (object) + status: sent, + observations: "" ## CopyCustomerIn (object) + mail_to: cabr110042@siigo.com, + copy_to: juan.casallas@siigo.com;armando.cabrera@siigo.com ## CopyCustomerOut (object) + status: sent, + observations: "" ## CustomerInInvoiceS (object) + identification: 13832081 (string, required) - Número de identificación del cliente. + branch_office: 0 (number) - Sucursal, valor por default 0 ## CustomerOutInvoiceS (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + branch_office: 0 (number) - Sucursal, valor por default 0. ## CustomerInInvoice (object) + person_type: Person (string, required) - Tipo de persona asociado al documento. + id_type: 13 (string, required) - Identificador del tipo de tercero. + identification: 13832081 (string, required) - Número de identificación del cliente. + branch_office: 0 (number) - Sucursal, valor por default 0. + name: ``Manuel``,``Camacho`` (array[string], required) - Razón social o nombres y apellidos del cliente. + address (AddressOut,required) - Dirección del cliente. + phones (array[Phone],required) - Indica los teléfonos asociados al cliente. + contacts (array[Contact],required) - Indica los contactos asociados al cliente, se pueden relacionar hasta 20 contactos. ## CustomerOutInvoice (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + branch_office: 0 (number) - Sucursal, valor por default 0. ## CustomerOutInvoiceCompletoSinUsar (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del cliente. + `type` (CustomerType) - Tipo de cliente, valor por default Customer. + `person_type` (PersonType,required) - Tipo de persona. + id_type: 13 (string,required) - Código del tipo de identificación del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + check_digit: 4 (string) - Dígito verificación, se calcula automáticamente. + name: ``Marcos``,``Castillo`` (array[string], required) - Razón social o nombres y apellidos del cliente. + commercial_name: Siigo (string) - Nombre comercial o Nombre de fantasía de la empresa cLiente. + branch_office: 0 (number) - Sucursal, valor por default 0. + vat_responsible: true (boolean) - Tipo de régimen IVA. True si es responsable de IVA, False si no es responsable de IVA. + fiscal_responsibilities (array[FiscalResponsability]) - Responsabilidades fiscales del cliente, valor por default R-99-PN. + address (AddressOut,required) - Dirección del cliente. + phones (array[Phone],required) - Indica los teléfonos asociados al cliente. + contacts (array[Contact],required) - Indica los contactos asociados al cliente. ## NameCustomer (object) + code: ``Item-1`` (string,required) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. ## ItemIn (object) + code: ``Item-1`` (string,required) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + quantity: 1 (number,required) - Cantidad. + price: 1069.77 (number,required) - Precio del producto / Valor unitario. + discount: ``0.0`` (number) - Porcentaje o Valor de descuento. Según configuración de la factura. + taxes (array[TaxIn]) - Impuestos que se desean asociar al producto o servicio. + transport (FieldsTransport) - Campos para empresas de transporte ## ItemInWithoutTransport (object) + code: ``Item-1`` (string,required) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + quantity: 1 (number,required) - Cantidad. + price: 1069.77 (number,required) - Precio del producto / Valor unitario. ## ItemOut (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159ps`` (string) - Identificador del producto/servicio. + code: ``Item-1`` (string) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + quantity: 2 (number) - Cantidad. En Siigo Nube queda registado con dos decimales. + price: 1069.77 (number) - Precio del producto / Valor unitario. En Siigo Nube queda registado con dos decimales. + discount (Discount) - Porcentaje y valor de descuento. + taxes (array[TaxOutInvoice]) - Impuestos que se desean asociar al producto o servicio. + total: 2546.05 (number) - Total del producto, incluye impuestos. ## ItemInDev (object) + code: ``Item-1`` (string,required) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + warehouse: 371092 (number) - Identificador de la bodega/almacén asociada al producto. + quantity: 1 (number,required) - Cantidad. + price: 1069.77 (number,required) - Precio del producto / Valor unitario. + taxed_price: 1500 (number) - Precio del producto con impuesto de IVA incluido. + discount: ``0.0`` (number) - Porcentaje o Valor de descuento. Según configuración de la factura. + taxes (array[TaxIn]) - Impuestos que se desean asociar al producto o servicio. ## ItemOutDev (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159ps`` (string) - Identificador del producto/servicio. + code: ``Item-1`` (string) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + warehouse (WarehouseOutInvoice) - Bodega/almacén asociada al producto. *Revisar + quantity: 2 (number) - Cantidad. En Siigo Nube queda registado con dos decimales. + price: 1069.77 (number) - Precio del producto / Valor unitario. En Siigo Nube queda registado con dos decimales. + discount (Discount) - Porcentaje y valor de descuento. + taxes (array[TaxOutInvoice]) - Impuestos que se desean asociar al producto o servicio. + total: 2546.05 (number) - Total del producto, incluye impuestos. ## PaymentDocument + prefix: ``FV-2`` (string,required) - Prefijo - Comprobante a cruzar, si el cliente tiene anticipos. + consecutive: 22 (number,required) - Consecutivo + quote: 1 (number) - Cuota ## PaymentIn (object) + id: 5636 (number) - ID del medio de pago. + value: ``1273.03`` (number,required) - Valor asociado al medio de pago. + due_date: ``2021-03-19`` (string) - Fecha pago cuota, formato yyyy-MM-dd. ## PaymentOut (object) + id: 5636 (number) - ID del medio de pago. + name: ``Crédito`` (string) - Nombre del medio de pago. + value: ``1273.03`` (number,required) - Valor asociado al medio de pago. + due_date: ``2021-03-19`` (string) - Fecha pago cuota, formato yyyy-MM-dd. ## VoucherPaymentIn (object) + id: 5636 (number,required) - ID del medio de pago con cuenta contable que no maneja vencimiento. + value: ``119000`` (number,required) - Valor asociado al medio de pago. ## VoucherPaymentOut (object) + id: 5636 (number,required) - ID del medio de pago con cuenta contable que no maneja vencimiento. + name: ``Crédito`` (string) - Nombre del medio de pago. + value: ``119000`` (number,required) - Valor asociado al medio de pago. # InvoicesOutList (object) + `pagination` (Pagination) + results (array[InvoiceOut]) + _links - *previous* - href: https://api.siigo.com/v1/invoices?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/invoices?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/invoices?page=6&page_size=25 # DocumentCC (object) + id: 27441 (number,required) - Identificador del comprobante *https://api.siigo.com/v1/document-types?type=CC* # DocumentFV (object) + id: 24446 (number,required) - Identificador del comprobante *https://api.siigo.com/v1/document-types?type=FV* # DocumentFC (object) + id: 24446 (number,required) - Identificador del comprobante *https://api.siigo.com/v1/document-types?type=FC* # DocumentInDev (object) + id: 24446 (number,required) - Identificador del comprobante + number: 22 (number) - Consecutivo/número del comprobante, el campo NO es obligatorio por defecto, depende de la configuración del tipo de comprobante. # DocumentNC (object) + id: 77775 (number,required) - Identificador del comprobante *https://api.siigo.com/v1/document-types?type=NC* # DocumentRC (object) + id: 7714 (number,required) - Identificador del comprobante *https://api.siigo.com/v1/document-types?type=RC* # Totals (object) + total: 2546.05 (number) - Total del comprobante, es calculado según el manejo de decimales que tenga configurada la empresa al momento de la creación. + totalDiscounts + totalVat + totalRetefuente # FieldsTransport (object) + file_number: 536 (number) - Número de radicado. + shipment_number: ``RM-145`` (string) - Número de remesa. + transported_quantity: ``120`` (number) - Cantidad transportada. + measurement_unit: ``KGM`` (string) - Unidad de medida. + freight_value: ``220000`` (number) - Valor del Flete. + purchase_order: ``OC-236`` (string) -Orden de compra. + service_type: ``AdditionalService`` (string) - Tipo de servicio. ## InvoiceInS (object) + document (DocumentFV,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Facturas) + date: ``2023-12-15`` (string,required) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerInInvoiceS,required) - Identificador del cliente asociado a la factura. + cost_center: 235 (number) - Centro de costo, el campo es obligatorio según la configuración del comprobante + currency (Currency) - Código de Moneda Extranjera + seller: 629 (number,required) - ID del vendedor asociado a la factura. + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemIn],required) - Productos o Servicios asociados a la factura. + payments (array[PaymentIn],required) - Formas de pago asociadas a la factura. + additional_fields (AdditionalFieldsInvoices) - Campos adicionales como: Orden de compra y Orden de entrega. ## InvoiceOutS (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la factura de venta. + document (DocumentFV) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes) factura. + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``FV-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2023-12-15`` (string) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerOutInvoiceS) - Identificador del cliente asociado a la factura.*Revisar + cost_center: 235 (number) - Centro de costo. + currency (Currency) - Código de Moneda Extranjera + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + balance: 0 (number) - Saldo pendiente de pago en la factura. + seller: 629 (number) - ID del vendedor asociado a la factura. + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemOut]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + public_url: https://documentview.siigo.com/document?data=MS4ruap0JuOL8dao3oKEMa (string) - Url de la vista pública de la factura de venta + additional_fields (AdditionalFieldsInvoices) - Campos adicionales como: Orden de compra y Orden de entrega. + metadata (Metadata) - Información acerca de la entidad. ## InvoiceIn (object) + document (DocumentFV,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Facturas) + date: ``2023-12-15`` (string,required) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerInInvoice,required) - Identificador del cliente asociado a la factura. + cost_center: 235 (number) - Centro de costo, el campo es obligatorio según la configuración del comprobante + currency (Currency) - Código de Moneda Extranjera + seller: 629 (number,required) - ID del vendedor asociado a la factura. + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemIn],required) - Productos o Servicios asociados a la factura. + payments (array[PaymentIn],required) - Formas de pago asociadas a la factura. + global_discounts (array[GlobalDiscountsIn]) - Descuentos globales de la factura. + additional_fields (AdditionalFieldsInvoices) - Campos adicionales como: Orden de compra y Orden de entrega. ## InvoiceOut (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la factura de venta. + document (DocumentFV) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes) factura. + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``FV-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2023-12-15`` (string) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerOutInvoice) - Identificador del cliente asociado a la factura.*Revisar + cost_center: 235 (number) - Centro de costo. + currency (Currency) - Código de Moneda Extranjera + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + balance: 0 (number) - Saldo pendiente de pago en la factura. + seller: 629 (number) - ID del vendedor asociado a la factura. + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemOut]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + public_url: https://documentview.siigo.com/document?data=MS4ruap0JuOL8dao3oKEMa (string) - Url de la vista pública de la factura de venta + global_discounts (array[GlobalDiscountsOut]) - Descuentos globales de la factura. + additional_fields (AdditionalFieldsInvoices) - Campos adicionales como: Orden de compra y Orden de entrega. + metadata (Metadata) - Información acerca de la entidad. ## InvoiceInDian (object) + document (DocumentFV,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Facturas) + date: ``2023-12-15`` (string,required) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerInInvoice,required) - Identificador del cliente asociado a la factura. + cost_center: 235 (number) - Centro de costo, el campo es obligatorio según la configuración del comprobante + currency (Currency) - Código de Moneda Extranjera + seller: 629 (number,required) - ID del vendedor asociado a la factura. + stamp (StampInDian) - Campo para indicar el envío de la factura electronica + mail (mailInCustomer) - Campo para indicar el envío de la factura al cliente + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemIn],required) - Productos o Servicios asociados a la factura. + payments (array[PaymentIn],required) - Formas de pago asociadas a la factura. + globaldiscounts (array[GlobalDiscountsIn]) - Descuentos globales de la factura. + additional_fields (AdditionalFieldsInvoices) - Campos adicionales como: Orden de compra y Orden de entrega. ## InvoiceBatchInIndiviual (object) + idempotency_key: 12345678 (string,required) - Identificador externo de la factura que se va a crear + document (DocumentFV,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Facturas) + date: ``2023-12-15`` (string,required) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerInInvoiceS,required) - Identificador del cliente asociado a la factura. + cost_center: 235 (number) - Centro de costo, el campo es obligatorio según la configuración del comprobante + seller: 629 (number,required) - ID del vendedor asociado a la factura. + items (array[ItemInWithoutTransport],required) - Productos o Servicios asociados a la factura. + stamp (StampInDian) - Campo para indicar el envío de la factura electronica + mail (mailInCustomer) - Campo para indicar el envío de la factura al cliente + observations: Observaciones (string) - Comentarios para agregar información a la factura. + payments (array[PaymentIn],required) - Formas de pago asociadas a la factura. ## InvoiceBatchIn (object) + notification_url: https://website (string,required) - URL a la que quieres que se notifique cuando se termine de procesar el lote de facturas. + invoices (array[InvoiceBatchInIndiviual],required) - Facturas de venta que se van a crear ## InvoiceBatchOut (object) + id: ``ea6186c4-a11f-4694-90a4-c01b9785e9d2`` (string) - Identificador del lote de facturas. + status: Received (string) - Estado del procesamiento del lote de facturas. + received_at: ``2025-07-10T20:48:54.0988518Z`` (string) - Fecha de recepción del lote de facturas. ## InvoiceOutDian (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la factura de venta. + document (DocumentFV) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes) factura. + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``FV-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2023-12-15`` (string) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerOutInvoice) - Identificador del cliente asociado a la factura.*Revisar + cost_center: 235 (number) - Centro de costo. + currency (Currency) - Código de Moneda Extranjera + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + balance: 0 (number) - Saldo pendiente de pago en la factura. + seller: 629 (number) - ID del vendedor asociado a la factura. + stamp (StampOutDian) - Campo para indicar el envío de la factura electronica + mail (mailOutCustomer) - Campo para indicar el envío de la factura al cliente + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemOut]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + public_url: https://documentview.siigo.com/document?data=MS4ruap0JuOL8dao3oKEMa (string) - Url de la vista pública de la factura de venta + globaldiscounts (array[GlobalDiscountsOut]) - Descuentos globales de la factura. + additional_fields (AdditionalFieldsInvoices) - Campos adicionales como: Orden de compra y Orden de entrega. + metadata (Metadata) - Información acerca de la entidad. ## CopyMailIn + mail_to: cabr110042@siigo.com, + copy_to: juan.casallas@siigo.com;armando.cabrera@siigo.com ## CopyMailOut + status: sent, + observations: "" ## PurchasesIn (object) + document (DocumentFC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Compras y gastos > Documnetos > Facturas de compra + date: ``2023-12-15`` (string,required) - Fecha de la factura, formato yyyy-MM-dd. + supplier (CustomerInInvoiceS,required) - Identificador del proveedor que emite la compra. + cost_center: 235 (number) - Centro de costo, el campo es obligatorio según la configuración del comprobante + provider_invoice (ProviderInvoice) - Datos de factura de compra. + currency (Currency) - Código de Moneda Extranjera + observations: Observaciones (string) - Comentarios para agregar información a la factura. + discount_type: Value (string) - Descuento por valor "Value" o porcentaje "percentage". + supplier_by_item: Proveedor por item (boolean) - Indica si la FC manejara proveedor por item. + tax_included: Impuesto incluido en precio (boolean) - Indica si el precio enviado tiene impuesto incluido. + items (array[ItemInFC],required) - Productos o Servicios, activos fijos co cuentras contables asociadas a la compra. + payments (array[PaymentIn],required) - Formas de pago asociadas a la factura. ## PurchasesOut (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la factura de venta. + document (DocumentFC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes) factura. + number: 25732 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: "FV-2-22" (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante. + date: ``2023-12-15`` (string) - Fecha de la factura, formato yyyy-MM-dd. + supplier (CustomerInInvoiceS,required) - Identificador del proveedor que emite la compra. + cost_center: 235 (number) - Centro de costo. + provider_invoice (ProviderInvoice) - Datos de factura de compra. + discount_type: Value (string) -Tipo de descuento valor "Value" o porcentaje "percentage". + currency (Currency) - Código de Moneda Extranjera + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + balance: 0 (number) - Saldo pendiente de pago en la factura. + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemOutFC]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + metadata (Metadata) - Información acerca de la entidad. ## ItemInFC (object) + type: ``Product`` (string,required) - Tipo del item de compra. + code: ``Item-1`` (string,required) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + quantity: 1 (number,required) - Cantidad. + price: 1069.77 (number,required) - Precio del producto / Valor unitario. + discount: ``0.0`` (number) - Porcentaje o Valor de descuento. Según configuración de la factura. + taxes (array[TaxIn]) - Impuestos que se desean asociar al producto o servicio. ## ItemOutFC (object) + type: ``Product`` (string,required) - Tipo del item de compra. + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159ps`` (string) - Identificador del producto/servicio. + code: ``Item-1`` (string) - Código único del producto. + description: Camiseta de algodón (string) - Nombre o descripción del producto/servicio. + quantity: 2 (number) - Cantidad. En Siigo Nube queda registado con dos decimales. + price: 1069.77 (number) - Precio del producto / Valor unitario. En Siigo Nube queda registado con dos decimales. + discount (Discount) - Porcentaje y valor de descuento. + taxes (array[TaxOutInvoice]) - Impuestos que se desean asociar al producto o servicio. + total: 2546.05 (number) - Total del producto, incluye impuestos. ## ProviderInvoice (object) + prefix: FV1 (string,required) - Prefijo de factura de venta del proveedor. + number: 1234 (string,required) - Consecutivo de factura de venta del proveedor. ## InvoiceInDev (object) + document (DocumentFV,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Facturas) + date: ``2023-12-15`` (string,required) - Fecha de la factura, formato yyyy-MM-dd. + customer (CustomerInInvoice,required) - Identificador del cliente asociado a la factura. + cost_center: 25732 (number) - Identificador del Centro de costos. + currency (Currency) - Información de la moneda y tasa de cambio asociada a la factura. + seller: 629 (number,required) - ID del vendedor asociado a la factura. + retentions (array[TaxRet]) - Retenciones que se desean asociar al producto o servicio, el campo es obligatorio según la configuración del tipo de comprobante. + advance_payment: 132 (number) - Valor de Anticipo o Copago. + observations: Observaciones (string) - Comentarios para agregar información a la factura.+ advance_payment: 132 (number) - Valor de Anticipo o Copago. + items (array[ItemInDev],required) - Productos o Servicios asociados a la factura. + payments (array[PaymentIn],required) - Formas de pago asociadas a la factura. + additional_fields (AdditionalFieldsInvoice) - Campos adicionales como: Orden de compra y Orden de entrega. ## InvoiceOutDev (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la factura de venta. + document (DocumentFV) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Facturas) + date: ``2023-12-15`` (string) - Fecha de la factura, formato yyyy-MM-dd. + status: pagada (string) - Estado de la factura. + customer (CustomerOutInvoice) - Identificador del cliente asociado a la factura.*Revisar + cost_center: 25732 (number) - Centro de costos. + currency (Currency) - Información de la moneda y tasa de cambio asociada a la factura. + retentions (array[RetentionOutInvoice]) - Retenciones que se desean asociar al producto o servicio. + advance_payment: 132 (number) - Valor de Anticipo o Copago. + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + balance: 0 (number) - Saldo pendiente de pago en la factura. + seller: 629 (number) - ID del vendedor asociado a la factura. + observations: Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemOut]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + public_url: https://documentview.siigo.com/document?data=MS4ruap0JuOL8dao3oKEMa (string) - Url de la vista pública de la factura de venta + additional_fields (AdditionalFieldsInvoice) - Campos adicionales como: Orden de compra y Orden de entrega. + metadata (Metadata) - Información acerca de la entidad. ## InvoiceOutCreditNote (object) + id: ``302580df-838b-4531-b8bf-dd3c98b34059`` (string) - Identificador de la factura que se le aplicó la Nota Crédito. + name: ``FV-2-20`` (string) - Nombre de la factura que se visualiza en Siigo Nube. ## InvoiceInCreditNote (object) + id: ``302580df-838b-4531-b8bf-dd3c98b34059`` (string) - Identificador de la factura que se le aplicó la Nota Crédito. ## CreditNoteIn (object) + document (DocumentNC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Notas crédito) + number: 22 (number,optional) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + date: ``2015-12-15`` (string,required) - Fecha de la nota crédito, formato yyyy-MM-dd. + invoice: ``302580df-838b-4531-b8bf-dd3c98b34059`` (string) - Identificador de la factura que se le aplicó la Nota Crédito + cost_center: 235 (number) - Centro de costos. + reason: 1 (enum,required) - Motivo de devolución DIAN + retentions (array[TaxIn]) - Retenciones que se desean asociar al producto o servicio, el campo es obligatorio según la configuración del tipo de comprobante. + observations : Observaciones (string) - Comentarios para agregar información a la factura. + stamp (StampInDian) - Campo para indicar el envío de la nota crédito electronica + mail (mailInCustomer) - Campo para indicar el envío de la nota crédito al cliente. + items (array[ItemIn],required) - Productos o Servicios asociados a la factura. + payments (array[PaymentIn],required) - Formas de pago asociadas a la Nota Crédito. ## CreditNoteOut (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la nota crédito. + document (DocumentNC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Notas crédito) + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``NC-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2020-12-22`` (string) - Fecha de la nota crédito, formato yyyy-MM-dd. + invoice (InvoiceOutCreditNote) - Información de la factura que se le aplicó la nota crédito + customer (CustomerOutInvoice) - Identificador del cliente asociado a la factura.*Revisar + cost_center: 235 (number) - Centro de costos. + currency (Currency) - Información de la moneda y tasa de cambio asociada a la nota crédito. + retentions (array[RetentionOutInvoice]) - Retenciones que se desean asociar al producto o servicio. + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + seller: 629 (number) - ID del vendedor asociado a la factura. + observations : Observaciones (string) - Comentarios para agregar información a la factura. + stamp (StampOutDianNC) - Campo indica el envío de la nota crédito electronica. + mail (mailOutCustomer) - Campo indica el envío de la nota crédito al cliente. + items (array[ItemOut]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + metadata (Metadata) - Información acerca de la entidad. ## CreditNoteOutDev (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de la nota crédito. + document (DocumentNC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Notas crédito) + date: ``2020-12-22`` (string) - Fecha de la nota crédito, formato yyyy-MM-dd. + invoice (InvoiceOutCreditNote) - Información de la factura que se le aplicó la nota crédito //+ status : pagada (string) - Estado de la nota crédito. + customer (CustomerOutInvoice) - Identificador del cliente asociado a la factura.*Revisar + cost_center: 235 (number) - Centro de costos. + currency (Currency) - Información de la moneda y tasa de cambio asociada a la nota crédito. + retentions (array[RetentionOutInvoice]) - Retenciones que se desean asociar al producto o servicio. + total: 2546.05 (number) - Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. + seller: 629 (number) - ID del vendedor asociado a la factura. + observations : Observaciones (string) - Comentarios para agregar información a la factura. + items (array[ItemOut]) - Productos o Servicios asociados a la factura. + payments (array[PaymentOut]) - Formas de pago asociadas a la factura. + metadata (Metadata) - Información acerca de la entidad. # CreditNotesOutList (object) + `pagination` (Pagination) + results (array[CreditNoteOut]) + _links - *previous* - href: https://api.siigo.com/v1/credit-notes?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/credit-notes?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/credit-notes?page=6&page_size=25 ## VoucherType (enum) + `DebtPayment` - Abono a deuda + `AdvancePayment` - Anticipo + `Detailed` - Avanzado ## VoucherTypeDetailed (enum) + `Detailed` - Avanzado ## VoucherMovementType (enum) + `Debit` - Debito + `Credit` - Crédito ## JournalMovementTyped (enum) + `Debit` - Debito + `Credit` - Crédito ## JournalMovementTypec (enum) + `Credit` - Crédito + `Debit` - Débito ## TaxInVoucher (object) + id: 13156 (number) - Identificador único del impuesto. ## TaxOutVoucher (object) + id: 13156 (number) - Identificador único del impuesto. + name: IVA 19% (string) - Nombre del impuesto. + percentage: 19 (number) - Porcentaje del impuesto. + base_value: 100000 (number) Valor Base ## ItemVoucher (object) + due (Due) - Vencimiento / Factura de venta a la cuál se le va a aplicar el abono o pago + value: 119000 (number,required) - Valor total del item ## ItemPayouts (object) + due (DueDetailedPayouts) - Vencimiento / Factura de conmpra a la cuál se le va a aplicar el abono o pago + value: 119000 (number,required) - Valor total del item ## ItemPayoutsDetailed (object) + account (VoucherAccount, required) - Cuenta contable + due (DueDetailedPayouts) - Factura de compra a la cuál se le va a aplicar el recibo de pago/egreso + description: ``FC-2-45``(string) - descripción + value: 119000 (number, required) - Valor total del item ## ItemOutPayoutsDetailed (object) + account (VoucherAccount) - Cuenta contable + due (DueDetailedPayouts) - Factura de compra a la cuál se le va a aplicar el recibo de pago/egreso + description: ``FC-2-45``(string) - descripción + value: 119000 (number, required) - Valor total del item ## Due (object) + prefix: ``FV-1`` (string,required) - Prefijo de factura a la cual se le va a aplicar el abono o pago + consecutive: 68 (number,required) - Consecutivo de la factura a la cual se le va a aplicar el abono o pago + quote: 1 (number,required) - Número de la cuota que se va a pagar o a abonar + date: ``2021-04-22`` (string) - Fecha pago cuota, formato yyyy-MM-dd. ## DueDetailed (object) + prefix: ``FV-1`` (string,required) - Prefijo de factura a la cual se le va a aplicar el abono o pago + consecutive: 68 (number,required) - Consecutivo de la factura a la cual se le va a aplicar el abono o pago + quote: 1 (number,required) - Número de la cuota que se va a pagar o a abonar + date: ``2021-04-22`` (string) - Fecha pago cuota, formato yyyy-MM-dd. ## DueDetailedPayouts (object) + prefix: ``FC-1`` (string,required) - Prefijo de factura a la cual se le va a aplicar el abono o pago + consecutive: 68 (number,required) - Consecutivo de la factura a la cual se le va a aplicar el abono o pago + quote: 1 (number,required) - Número de la cuota que se va a pagar o a abonar + date: ``2021-04-22`` (string) - Fecha pago cuota, formato yyyy-MM-dd. ## ItemInCC (object) + account (JournalAccountd, required) - Cuenta contable + customer (CustomerInVoucher,required) - Identificador del tercero asociado al comprobante contable. + description: ``Descripción opcional del débito``(string) - descripción + cost_center: 235 (number) - Centro de costos. El campo es obligatorio según la configuración del comprobante. + value: 119000 (number, required) - Valor total del item ## ItemVoucherDetailed (object) + account (VoucherAccount, required) - Cuenta contable + due (DueDetailed) - Factura de venta a la cuál se le va a aplicar el recibo de caja + description: ``FV-2 Base``(string) - descripción + value: 119000 (number, required) - Valor total del item ## ItemOutVoucherDetailed (object) + account (VoucherAccount) - Cuenta contable + due (DueDetailed) - Factura de venta a la cuál se le va a aplicar el recibo de caja + description: ``FV-2 Base``(string) - descripción + value: 119000 (number, required) - Valor total del item ## CustomerInVoucher (object) + identification: 209048401 (string, required) - Número de identificación del cliente. + branch_office: 0 (number) - Sucursal, valor por default 0. ## CustomerInBalance (object) + identification: 209048401 (string) - Número de identificación del tercero por el cual se quiera filtrar el reporte. + branch_office: 0 (number) - Sucursal, valor por default 0. ## CustomerOutVoucher (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del cliente. + identification: 13832081 (string, required) - Número de identificación del cliente. + branch_office: 0 (number) - Sucursal, valor por default 0. # VoucherAccount (object) + code: 13050501 (string,required) - Código de la cuenta contable. + movement (VoucherMovementType,required) - Tipo de movimiento a realizar con la cuenta. # JournalAccountd (object) + code: 11050501 (string,required) - Código de la cuenta contable. + movement (JournalMovementTyped,required) - Tipo de movimiento a realizar con la cuenta. # JournalAccountc (object) + code: 11100501 (string,required) - Código de la cuenta contable. + movement (JournalMovementTypec,required) - Tipo de movimiento a realizar con la cuenta. ## VoucherIn (object) + document (DocumentRC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Recibos de caja) + date: ``2021-04-22`` (string,required) - Fecha de elaboración del recibo de caja, formato yyyy-MM-dd. + type (VoucherType,required) - Tipo de Recibo de Caja. + customer (CustomerInVoucher,required) - Identificador del cliente asociado al recibo de caja. + currency (Currency) - Código de Moneda Extranjera + items (array[ItemVoucher]) - Facturas a las que se les va a aplicar el abono o pago. (Obligatorio si type = DebtPayment) + payment (VoucherPaymentIn) - ID y valor de la forma de pago. + observations : Observaciones (string) - Comentarios para agregar información al recibo de caja. ## VoucherOut (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de el recibo de caja. + document (DocumentRC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Recibos de caja) + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``RC-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2023-12-15`` (string,required) - Fecha de elaboración del recibo de caja, formato yyyy-MM-dd. + type (VoucherType,required) - Tipo de Recibo de Caja. + customer (CustomerOutVoucher,required) - Identificador del cliente asociado al recibo de caja. + currency (Currency) - Código de Moneda Extranjera + items (array[ItemVoucher]) -Facturas a las que se les aplicó el abono o pago. + payment (VoucherPaymentOut) - ID y valor de la forma de pago. + balance: 0 (number) - Saldo del recibo de caja. + observations : Observaciones (string) - Comentarios para agregar información al recibo de caja. + metadata (Metadata) - Información acerca de la entidad. ## VoucherInDetailed (object) + document (DocumentRC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Recibos de caja) + date: ``2023-12-15`` (string,required) - Fecha de elaboración del recibo de caja, formato yyyy-MM-dd. + type (VoucherTypeDetailed,required) - Tipo de recibo de caja + customer (CustomerInVoucher,required) - Identificador del cliente asociado al recibo de caja. + cost_center: 235 (number) - Centro de costos. El campo es obligatorio según la configuración del comprobante. + items (array) + (object) + account(JournalAccountd) + description: ``Descripción Débito``(string) - descripción + value: ``119000`` (number,required) - Valor débito. + (object) + account(JournalAccountc) + description: ``Descripción Crédito``(string) - descripción + value: ``119000`` (number,required) - Valor crédito. + observations : Observaciones (string) - Comentarios para agregar información al recibo de caja. ## VoucherOutDetailed(object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de el Recibo de Caja. + document (DocumentRC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Recibos de caja) + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``RC-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2023-12-15`` (string,required) - Fecha de elaboración del recibo de caja, formato yyyy-MM-dd. + type (VoucherTypeDetailed,required) - Tipo de recibo de caja + customer (CustomerOutVoucher,required) - Identificador del tercero asociado al recibo de caja. + items (array) + (object) + account(JournalAccountd) + description: ``Descripción Débito``(string) - descripción + value: ``119000`` (number,required) - Valor débito. + (object) + account(JournalAccountc) + description: ``Descripción Crédito``(string) - descripción + value: ``119000`` (number,required) - Valor crédito. + observations : Observaciones (string) - Comentarios para agregar información al recibo de caja. + metadata (Metadata) - Información acerca de la entidad. ## PayoutsIn (object) + document (DocumentRC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Compras y gastos > Documentos > Recibo de pago/egreso) + date: ``2024-12-22`` (string,required) - Fecha de elaboración del recibo de pago/egreso, formato yyyy-MM-dd. + type (VoucherType,required) - Tipo de Recibo de pago/egreso. + supplier (CustomerInInvoiceS,required) - Identificador del proveedor que se registra el pago. + currency (Currency) - Código de Moneda Extranjera + items (array[ItemPayouts]) - Facturas a las que se les va a aplicar el abono o pago. (Obligatorio si type = DebtPayment) + payment (VoucherPaymentIn) - ID y valor de la forma de pago. + observations : Observaciones (string) - Comentarios para agregar información al recibo de pago/egreso. ## PayoutsOut (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de el recibo de pago/egreso. + document (DocumentRC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Compras y gastos > Documentos > Recibo de pago/egreso) + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``RP-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2024-12-15`` (string,required) - Fecha de elaboración del recibo de pago/egreso, formato yyyy-MM-dd. + type (VoucherType,required) - Tipo de Recibo de pago/egreso. + supplier (CustomerInInvoiceS,required) - Identificador del proveedor que se registra el pago. + currency (Currency) - Código de Moneda Extranjera + items (array[ItemPayouts]) -Facturas a las que se les aplicó el abono o pago. + payment (VoucherPaymentOut) - ID y valor de la forma de pago. + balance: 0 (number) - Saldo del recibo de caja. + observations : Observaciones (string) - Comentarios para agregar información al recibo de pago/egreso. + metadata (Metadata) - Información acerca de la entidad. ## PayoutsInDetailed (object) + document (DocumentRC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Compras y gastos > Documentos > Recibo de pago/egreso) + date: ``2024-12-15`` (string,required) - Fecha de elaboración del recibo de pago/egreso, formato yyyy-MM-dd. + type (VoucherTypeDetailed,required) - Tipo de recibo de pago/egreso + supplier (CustomerInInvoiceS,required) - Identificador del proveedor que se registra el pago. + cost_center: 235 (number) - Centro de costos. El campo es obligatorio según la configuración del comprobante. + items (array) + (object) + account(JournalAccountd) + description: ``Descripción Débito``(string) - descripción + value: ``119000`` (number,required) - Valor débito. + (object) + account(JournalAccountc) + description: ``Descripción Crédito``(string) - descripción + value: ``119000`` (number,required) - Valor crédito. + observations : Observaciones (string) - Comentarios para agregar información al recibo de pago/egreso. ## PayoutsOutDetailed(object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de el Recibo de pago/egreso. + document (DocumentRC) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Compras y gastos > Documentos > Recibo de pago/egreso) + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``RC-2-22`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2015-12-15`` (string,required) - Fecha de elaboración del recibo de pago/egreso, formato yyyy-MM-dd. + type (VoucherTypeDetailed,required) - Tipo de recibo de caja + supplier (CustomerInInvoiceS,required) - Identificador del proveedor que se registra el pago. + items (array) + (object) + account(JournalAccountd) + description: ``Descripción Débito``(string) - descripción + value: ``119000`` (number,required) - Valor débito. + (object) + account(JournalAccountc) + description: ``Descripción Crédito``(string) - descripción + value: ``119000`` (number,required) - Valor crédito. + observations : Observaciones (string) - Comentarios para agregar información al recibo de pago/egreso. + metadata (Metadata) - Información acerca de la entidad. ## BalanceIn (object) + account_start: "11050501" (string) - Número de la cuenta contable desde la que se generara el reporte. + account_end: "41350501" (string) - Número de la cuenta contable hasta la que terminara el reporte. + year: ``2023`` (number,required) - Año en formato yyyy. + month_start: ``1`` (number,required) - Debe ser un número entero entre 1 y 13, no debe ser mayor al número del mes final y es obligatorio. + month_end: ``13`` (number,required) - Debe ser un número entero entre 1 y 13, no debe ser menor al número del mes inicial y es obligatorio. + includes_tax_difference: ``false`` (boolean,required) - Se debe indicar true o false dependiendo si se espera incluir en el reporte las cuentas con diferencia fiscal. ## BalancePorTerceroIn (object) + account_start: "11050501" (string) - Número de la cuenta contable desde la que se generara el reporte. + account_end: "41350501" (string) - Número de la cuenta contable hasta la que terminara el reporte. + year: ``2023`` (number,required) - Año en formato yyyy. + month_start: ``1`` (number,required) - Debe ser un número entero entre 1 y 13, no debe ser mayor al número del mes final y es obligatorio. + month_end: ``13`` (number,required) - Debe ser un número entero entre 1 y 13, no debe ser menor al número del mes inicial y es obligatorio.. + includes_tax_difference: ``false`` (boolean,required) - Se debe indicar true o false dependiendo si se espera incluir en el reporte las cuentas con diferencia fiscal. + customer (CustomerInBalance) - Identificador del tercero que se quiera filtrar para generar el Balance, si no se envía el objeto se obtendrá el reporte con todos los terceros. ## Balanceout (object) + file_id: ``24880c55-65c9-4bf0-83a1-137e12671813`` (string) - ID del balance de prueba generado. + file_url: ``https://reportsexcelprod.blob.core.windows.net/pilotocalidadnube/Balance de prueba general-20230111125739.xlsx`` (string) - Enlace para descargar el balance generado en Excel. ## JournalsInDev (object) + document (DocumentCC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Comprobante Contable. + date: ``2021-05-15`` (string,required) - Fecha de elaboración del comprobante contable formato yyyy-MM-dd. + items (array) + (object) + account(JournalAccountd) + customer (CustomerInVoucher,required) - Identificador del tercero asociado al comprobante contable. + description: ``Descripción Débito``(string) - descripción + cost_center: 235 (number) - Centro de costos. + value: ``119000`` (number,required) - Valor débito. + (object) + account(JournalAccountc) + customer (CustomerInVoucher,required) - Identificador del tercero asociado al comprobante contable. + description: ``Descripción Crédito``(string) - descripción + cost_center: 235 (number) - Centro de costos. + value: ``119000`` (number,required) - Valor crédito. + observations : Observaciones (string) - Comentarios para agregar información al comprobante contable. ## JournalsOutDev (object) + id: ``63f918c2-ca65-4edc-a7db-66bcdd5159fb`` (string) - Identificador de el comprobante contable. + document (DocumentCC,required) - Tipo de Comprobante (Para verificar la configuración ir a Siigo Nube en el menú Configuración > Transacciones > Comprobantes > Comprobante Contable. + number: 22 (number) - Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. + name: ``CC-10-20`` (string) - Tipo de Comprobante + Código de Comprobante + Número de Comprobante + date: ``2021-05-15`` (string,required) - Fecha de elaboración del comprobante contable formato yyyy-MM-dd. + items (array) + (object) + account(JournalAccountd) + customer (CustomerOutVoucher,required) - Identificador del tercero asociado al comprobante contable. + description: ``Descripción Débito``(string) - descripción + cost_center: 235 (number) - Centro de costos. + value: ``119000`` (number,required) - Valor débito. + (object) + account(JournalAccountc) + customer (CustomerOutVoucher,required) - Identificador del tercero asociado al comprobante contable. + description: ``Descripción Crédito``(string) - descripción + cost_center: 235 (number) - Centro de costos. + value: ``119000`` (number,required) - Valor crédito. + balance: 0 (number) - Saldo del comprobante contable. + observations : Observaciones (string) - Comentarios para agregar información al comprobante contable. + metadata (Metadata) - Información acerca de la entidad. ## PurchaseInDev (object) ## PurchaseOutDev (object) ## DueProvider (object) + prefix: ``FV-1`` (string) - Prefijo del vencimiento del pago. + consecutive: 68 (number) - Consecutivo del vencimiento del pago. + quote: 1 (number) - Número de la cuota del vencimiento del pago. + date: ``2021-04-22`` (string) - Fecha del vencimiento del pago, formato yyyy-MM-dd. ## ProviderInfoOut (object) + id: ``6b6ceb28-b2eb-4b98-b3dd-26648a933c81`` (string) - Identificador del proveedor. + identification: 209048401 (string) - Número de identificación del proveedor por el cual se quiera filtrar el reporte. + branch_office: 0 (number) - Sucursal, valor por default 0. + name: ``Raul Perez`` (string) - Nombre del proveedor ## CostCenterProvider (object) + code: 13-1 (string) - Código del centro de costo. + name: Principal (string) - Nombre del centro de costo. ## CurrencyProvider (object) + code: USD (string) - Código de moneda. + balance: ``38250`` (number) - Valor del vencimiento en moneda extranjera. ## ProviderOut (object) + due (DueProvider) - Detalle del vencimineto de la deuda con el proveedor. + provider (ProviderInfoOut) - Identificador del tercero que se quiera filtrar para generar el reporte, si no se envía el objeto se obtendrá el reporte con todos los terceros. + cost_center (CostCenterProvider) - Número y nombre del centro de costos. + currency (CurrencyProvider) - Código de Moneda Extranjera. # ProviderOutList (object) + `pagination` (Pagination) + results (array[ProviderOut]) + _links - *previous* - href: https://api.siigo.com/v1/accounts-payable?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/accounts-payable?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/accounts-payable?page=6&page_size=25 ## WebhooksIn (object) + application_id: ``Siigo`` (string,required) - Nombre del software o aplicación que recibirá las notificaciones. + topic: ``public.siigoapi.products.create`` (string,required) - Evento al que se desea suscribir. + url: ``https://www.siigo.com/`` (string,required) - Url en la que se desea recibir las notificaciones. ## WebhooksInPUT (object) + application_id: ``Siigo`` (string,required) - Nombre del software o aplicación que recibirá las notificaciones. + topic: ``public.siigoapi.products.create`` (string,required) - Evento al que se desea suscribir. + url: ``https://www.siigo.com/`` (string,required) - Url en la que se desea recibir las notificaciones. + active: ``false`` (boolean) - Indica el estado de la suscripción. ## WebhooksOut (object) + id: ``04154094-56d0-4153-99d9-25f587aa4e50`` (string) - Id de la suscripción. + application_id: ``Siigo`` (string) - Nombre del software o aplicación que recibirá las notificaciones. + url: ``https://www.siigo.com/`` (string) - Url a la que se van a enviar las notificaciones. + topic: ``public.siigoapi.products.create`` (string) - Evento al que se suscribió. + company_key: ``siigoapi`` (string) - Nombre de la empresa suscrita al webhook. + active: ``true`` (boolean) - Indica el estado de la suscripción. + created_at: ``2023-08-11T15:11:18.1333022Z`` (string) - Fecha y hora de la suscripción. ## WebhooksOutGet (object) + `pagination` (Pagination) + results (array[WebhooksOut]) + _links - *previous* - href: https://api.siigo.com/v1/webhooks?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/webhooks?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/webhooks?page=6&page_size=25 # VouchersOutList (object) + `pagination` (Pagination) + results (array[VoucherOut]) + _links - *previous* - href: https://api.siigo.com/v1/vouchers?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/vouchers?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/vouchers?page=6&page_size=25 # PayoutsOutList (object) + `pagination` (Pagination) + results (array[PayoutsOut]) + _links - *previous* - href: https://api.siigo.com/v1/payment-receipts?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/payment-receipts?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/payment-receipts?page=6&page_size=25 # JournalsOutList (object) + `pagination` (Pagination) + results (array[JournalsOutDev]) + _links - *previous* - href: https://api.siigo.com/v1/journals?page=4&page_size=25 - *self* - href: https://api.siigo.com/v1/journals?page=5&page_size=25 - *next* - href: https://api.siigo.com/v1/journals?page=6&page_size=25 # Group Autenticación Para comunicarte con nuestro servicio debes autenticarte mediante un esquema **OAuth**. Como primer paso debes generar un Token de acceso tipo [JWT](https://jwt.io/ "JSON Web Tokens"). Para generar el token deberás utilizar las credenciales conformadas por **username** y **access_key**. Para realizar la generación de credenciales es necesario ingresar a Siigo Nube, menú izquierdo *Alianzas* `>` *Botón "Mi Credencial API"* Puedes solicitar la información de pruebas a nuestras [líneas de atención](https://www.siigo.com/contactenos/ "Contáctanos"), indicando el NIT registrado en Siigo y te suministraremos los datos vía correo. ## Generar Token [POST /auth] Obtendrás un **access_token** válido por **24 horas**, pasado este tiempo, debe ser renovado. Este token debe ser enviado en la cabecera de autorización (Authorization) de todas las peticiones al API. + Request (application/json) + Headers Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (TokenIn) + Response 201 (application/json) + Attributes (TokenOut) + Body # Group Productos Son los bienes y/o servicios que adquiere la empresa para su propio uso o para realizar comercialización de ellos. ## Crear Producto [POST /v1/products] Esta funcionalidad te permite crear un producto/servicio, configurando sus características como se puede ver en los siguientes campos: Nombre |Tipo |Descripción |Características ----------------|------------------------------|--------------- | --------- code |*string* | Código único del producto. | Campo obligatorio, alfanúmerico, debe ser único, NO permite espacios, máximo 30 carácteres. name |*string* | Nombre del producto. | Campo obligatorio, máximo 100 caracteres, permite caracteres especiales y espacios. account_group |*number* | Id de la clasificación de inventario <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/grupos-de-inventario/grupos-de-inventario">**/account-groups**</a> | Campo obligatorio, debe estar creado en Siigo Nube y estar activo. type |*string* | Tipo del producto: Product, Service, ConsumerGood | Campo opcional para identifcar el producto, si no se envia toma por defecto el valor "Prodcut". stock_control |*boolean* | Manejo del control de inventario | Campo booleano opcional, si no se envia por defecto toma "false". active |*boolean* | Estado del producto en Siigo, valor por default true. | Campo tipo booleano, opcional, si no se envia por defecto toma "true". tax_classification |*string* | Tipo del producto: Taxed, Exempt o Excluded | Campo tipo string, opcional, si no se envia por defecto toma el tipo "taxed". tax_included |*boolean* | IVA incluido. | Campo tipo booleano, opcional, si no se envia por defecto toma "false". tax_consumption_value |*number* | Valor impuesto al consumo. | Campo tipo númerico, opcional, máximo maneja 2 decimales, debe ser positivo. taxes.id |*number* |Identificador único del impuesto | Campo tipo númerico, opcional, el impuesto debe existir previamente en Siigo Nube. taxes.milliliters |*number* |Cantidad de mililitros | Campo tipo númerico, obligatorio si maneja un impuesto de bebidas azucaradas. taxes.rate |*number* | Tarifa | Campo tipo númerico, obligatorio si maneja un impuesto de bebidas azucaradas, debe ser: 18, 35, 28, 55, 38, 65. prices.currency_code |*string* | Código de moneda | Campo tipo string, opcional, debe existir en Siigo Nube. prices.price_list.position |*number* | Identificador único de la lista de precio. | Campo tipo númerico, opcional, debe ser un número entero del 1 al 12. prices.price_list.value |*number* | Valor de la lista de precio. | Campo tipo númerico, opcional, máximo maneja 2 decimales, debe ser positivo. unit |*string* | Código de la unidad de medida del producto para factura electrónica, valor por default 94. | Campo opcional, debe estar en el listado de unidades de medida de Siigo Nube se puede consultar en #/reports/2000/5515?TabID=1753&pTabID=1446. unit_label |*string* | Unidad de medida para impresión factura. | Campo tipo string, opcional, es tipo texto en el pdf de la factura. reference |*string* | Referencia o código de fábrica del producto o servicio. | Campo tipo string, opcional,permite espacios, alfanúmerico de máximo 80 carácteres. description |*string* | Descripción del producto o servicio. | Campo tipo string, opcional, de máximo 2500 carácteres. barcode |*string* | Código de barras. | Campo tipo string, opcional, permite espacios, alfanúmerico de máximo 50 carácteres. brand |*string* | Marca. | Campo tipo string, opcional, permite espacios, alfanúmerico de máximo 50 carácteres. tariff |*string* | Código arancelario. | Campo tipo string, opcional, númerico de máximo 10 carácteres. model |*string* | Modelo. | Campo tipo string, opcional, permite espacios, alfanúmerico de máximo 50 carácteres. **[¿Como crear productos en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/creacion-de-productos-servicios/)** Aquí encontrarás las **[Unidades de Medida](https://saprodcentralassets.blob.core.windows.net/siigoapi/documentation/unidades%20de%20medida.xlsx)** que puedes utilizar en Siigo API. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (ProductIn) + Response 201 (application/json) + Attributes (ProductOutCreate) + Body ## Consultar Producto [GET /v1/products/{product_id}] Consultar un producto o servicio único por su id. Se manejan los siguientes datos informativos: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **id** |String | Identificador del producto. **code** |String | Código único para identificar el producto. **name** |String | Nombre del producto / servicio. **account_group.id** |number | Identificador único de la clasificación de inventario. **account_group.name** |String | Nombre de la clasificación de inventario. **type.product** |String | Se identifica el tipo de producto, puede ser: Product, service o ConsumerGood. **stock_control** |boolean | Control de inventario, valor por default false. **active** |boolean | Estado del producto en Siigo, valor por default true. **tax_classification** |string | Indica si el producto es Gravado, exento o excluido. **tax_included** |boolean | Indica si el producto maneja IVA incluido o no, no es obligatorio. **tax_consumption_value** |number | Valor impuesto al consumo. **taxes.id** |number | Identificador único del impuesto. **taxes.name** |string | Nombre del impuesto. **taxes.type** |string | Tipo del impuesto, ejemplo: IVA **taxes.percentage** |number | Indica el número de porcentaje de los impuestos. **prices.currency_code** |string | Código de moneda, por ejemeplo: COP **prices.price_list.position** |number |Identificador único de la lista de precio. **prices.price_list.name** |string |Nombre de la lista de precio. **prices.price_list.value** |string |Valor de la lista de precio. **unit.code** |string | Código de la unidad de medida, por ejemplo: 94 **unit.name** |string | Nombre de la unidad de medida, por ejemplo: Unidad **unit_label** |string | Unidad de medida para impresión factura. **reference** |string | Referencia o código de fábrica del producto o servicio. **description** |string | Descripción del producto o servicio. **barcode** |string | Código de barras. **brand** |string | Marca del producto. **tariff** |string | Código arancelario. **model** |string | Modelo. **available_quantity** |number | Indica la cantidad disponible en el inventario. Si el producto se encuentra distribuido en múltiples bodegas, este atributo retorna la cantidad disponible en todas las bodegas. **warehouses.id** |number | Identificador único de la bodega. **warehouses.name** |string | Nombre de la bodega. **warehouses.quantity** |string | Cantidad disponible. **created** |string | La fecha en la que se creó el producto. **last_updated** |string | La fecha en la que se actualizó el producto por última vez. **[¿Como consultar productos en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/informe-de-productos/)** + Parameters + product_id (string,`00584089-4ebc-49de-bf75-6a6cc968a96d`) + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (ProductOut) + Body ## Listar Productos [GET /v1/products{?created_start}] Devuelve una lista de los productos o servicios. Los productos se devuelven ordenados por fecha de creación, y los productos creados más recientemente aparecen primero. Listado de productos en Siigo Nube en el menú lateral: *Transacciones* `>` *Inventarios* `>` *Productos / Servicios.* --------------------------------------------------------------------------------------- **Query Parameters** Puedes utilizar los siguientes parámetros para poder realizar filtros en las consultas. Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **code** |Date | Devuelve resultados por "code". **created_start** |Date | Devuelve resultados de productos con fecha de creación mayor o igual que este valor. **created_end** |Date | Devuelve resultados de productos con fecha de creación menor o igual que este valor. **updated_start** |Date | Devuelve resultados de productos con actualización en sus propiedades o saldos de inventario en una fecha mayor o igual que este valor. **updated_end** |Date | Devuelve resultados de productos con actualización en sus propiedades o saldos de inventario en una fecha menor o igual que este valor. **id** |Date | Devuelve resultados por "id". Es posible hacer filtros hasta con 20 Ids a la vez separados por coma ejemplo: https://api.siigo.com/v1/products?ids={GUID},{GUID} **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ + Parameters + created_start (optional, type, `2021-02-17`) + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (ProductsOutList) + Body ## Actualizar Producto [PUT /v1/products/id/] Esta funcionalidad te permite editar un producto/servicio, configurando sus características como se puede ver en los siguientes campos: Nombre |Tipo |Descripción |Características ----------------|------------------------------|--------------- | --------- code |*string* | Código único del producto. | Campo obligatorio, alfanúmerico, debe ser único, NO permite espacios, máximo 30 carácteres. name |*string* | Nombre del producto. | Campo obligatorio, máximo 100 caracteres, permite caracteres especiales y espacios. account_group |*number* | Id de la clasificación de inventario <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/grupos-de-inventario/grupos-de-inventario">**/account-groups**</a> | Campo obligatorio, si el producto ya tiene movimiento en algún documento no puede modificarse este campo, debe estar creado en Siigo Nube y estar activo. type |*string* | Tipo del producto: Product, Service, ConsumerGood | Campo opcional para identifcar el producto, si no se envia toma por defecto el valor "Prodcut". stock_control |*boolean* | Manejo del control de inventario | Campo booleano opcional, si no se envia por defecto toma "false". active |*boolean* | Estado del producto en Siigo, valor por default true. | Campo tipo booleano, opcional, si no se envia por defecto toma "true". tax_classification |*string* | Tipo del producto: Taxed, Exempt o Excluded | Campo tipo string, opcional, si no se envia por defecto toma el tipo "taxed". tax_included |*boolean* | IVA incluido. | Campo tipo booleano, opcional, si no se envia por defecto toma "false". tax_consumption_value |*number* | Valor impuesto al consumo. | Campo tipo númerico, opcional, máximo maneja 2 decimales, debe ser positivo. taxes.id |*number* |Identificador único del impuesto | Campo tipo númerico, opcional, el impuesto debe existir previamente en Siigo Nube. prices.currency_code |*string* | Código de moneda | Campo tipo string, opcional, debe existir en Siigo Nube. prices.price_list.position |*number* | Identificador único de la lista de precio. | Campo tipo númerico, opcional, debe ser un número entero del 1 al 12. prices.price_list.value |*number* | Valor de la lista de precio. | Campo tipo númerico, opcional, máximo maneja 2 decimales, debe ser positivo. unit |*string* | Código de la unidad de medida del producto para factura electrónica, valor por default 94. | Campo opcional, debe estar en el listado de unidades de medida de Siigo Nube se puede consultar en #/reports/2000/5515?TabID=1753&pTabID=1446. unit_label |*string* | Unidad de medida para impresión factura. | Campo tipo string, opcional, es tipo texto en el pdf de la factura. reference |*string* | Referencia o código de fábrica del producto o servicio. | Campo tipo string, opcional,permite espacios, alfanúmerico de máximo 80 carácteres. description |*string* | Descripción del producto o servicio. | Campo tipo string, opcional, de máximo 2500 carácteres. barcode |*string* | Código de barras. | Campo tipo string, opcional, permite espacios, alfanúmerico de máximo 50 carácteres. brand |*string* | Marca. | Campo tipo string, opcional, permite espacios, alfanúmerico de máximo 50 carácteres. tariff |*string* | Código arancelario. | Campo tipo string, opcional, númerico de máximo 10 carácteres. model |*string* | Modelo. | Campo tipo string, opcional, permite espacios, alfanúmerico de máximo 50 carácteres. **[¿Como editar productos en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/modificar-editar-productos-servicios/)** Aquí encontrarás las **[Unidades de Medida](https://saprodcentralassets.blob.core.windows.net/siigoapi/documentation/unidades%20de%20medida.xlsx)** que puedes utilizar en Siigo API. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (ProductIn) + Response 200 (application/json) + Attributes (ProductOut) + Body ## Borrar Producto [DELETE /v1/products/id_] Borrar un producto o servicio. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Headers + Body { "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb", "deleted": true } # Group Clientes Los clientes o terceros son las personas naturales y/o jurídicas que manejan relaciones comerciales o administrativas con la empresa. ## Crear Cliente [POST /v1/customers] Esta funcionalidad permite crear un tercero, sea cliente, proveedor u otro. Nombre |Tipo |Descripción |Características -------------------------|-----------------------|--------------- |------------- **type** |String | Campo para identificar el tipo de cliente. | Campo opcional, con 3 tipos "Customer, Supplier, Other", si no se envia por defecto toma el tipo "Customer". **person_type** |String, required | Identifica si el tercero es "person o company". | Campo obligatorio, solo se puede enviar "person o company". **id_type** |string, required | Código del tipo de documento, 13 para cédula y 31 para NIT. | Campo obligatorio, las opciones se encuentran en el listado siguiente a este apartado". **identification** |String | Número de identificación del cliente. | Campo obligatorio, no permite caracteres especiales, máximo 50 carácteres, solo permite un número de identificación existente en Nube si es un nuevo número de sucursal. **check_digit** |String | Dígito verificación del número de identificación. | Campo opcional, solo recibe números enteros del 0 al 9. **name** |String, required | Razón social o nombres y apellidos del cliente. | Campo obligatorio, no permite carácteres especiales, Company es un solo campo, en el array de Person son 2 campos, tiene un máximo 100 carácteres por campo "string". **commercial_name** |String | Nombre comercial o Nombre de fantasía de la empresa cliente. | Campo opcional, alfanúmerico, permite espacios y carácteres especiales. **branch_office** |number | Sucursal, valor por default 0. | Campo opcional, solo recibe números enteros del 0 al 999. **active** |boolean | Estado del cliente en Siigo. |Campo opcional, si no se envia el valor por default es "true". **vat_responsible** |boolean | Tipo de régimen IVA. True si es responsable de IVA, False si no es responsable de IVA. | Campo opcional, si no se envia por default toma "false". **fiscal_responsibilities.code** |string, required | Código de la responsabilidad fiscal. | Campo olbigatorio, en su mayoria el campo es el código "R-99-PN" de No aplica - Otros. **address.address** |string, required | Dirección del cliente. | Campo obligatorio, alfanúmerico, permite espacios, máximo 256 carácteres. **address.city.country_code** |string, required | Código del país. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades, Por ejemplo: CO. **address.city.state_code** |string, required | Código del departamento/estado. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades, por ejemplo: 11. **address.city.city_code** |string, required | Código de la ciudad. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades. por ejemplo: 11001. **address.postal_code** |string | Código postal. | Campo opcional, alfanúmerico, no permite espacios, máximo 10 carácteres. **phones.indicative** |string | Indicativo del número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **phones.number** |string | Número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **phones.extension** |string | Extensión del número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.first_name** |string,required | Nombres del contacto. | Campo obligatorio, permite espacios y carácteres especiales, alfanpumerico, máximo 50 carácteres. **Contacts.last_name** |string | Apellidos del contacto. | Campo opcional, permite espacios y carácteres especiales, alfanpumerico, máximo 50 carácteres. **Contacts.email** |string | Correo del contacto. | Campo opcional, NO permite espacios ni carácteres especiales, alfanpumerico, máximo 100 carácteres. **Contacts.phone.indicative** |string | Indicativo del número del contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.phone.number** |string | Número del contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.phone.extension** |string | Extensión del número del contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **comments** |string | Observaciones o comentarios adicionales. | Campo opcional, alfanúmerico, permite espacios y carácteres especiales, máximo 4000 carácteres. **seller_id** |number | Usuario vendedor asigando al cliente. | Campo opcional, númerico, el id del usuario debe existir previamente en Siigo Nube, se puede consultar con una petición tipo GET al endpoint de https://api.siigo.com/v1/users. **collector_id** |number | Usuario cobrador encargado del recaudo de cartera. | Campo opcional, númerico, el id del usuario debe existir previamente en Siigo Nube, se puede consultar con una petición tipo GET al endpoint de https://api.siigo.com/v1/users. **[¿Como crear terceros en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/creacion-terceros-clientes-proveedores/)** **Parámetros para Colombia** ID |Tipo de identificación| Caracteristicas del campo "identification" según el tipo de identificación. ---------|---------------------------------------|------- 13 | Cédula de ciudadanía | Campo numérico, registro >= 3 y <=13 únicamente 31 | NIT | Campo numérico, registro >= 3 y <=13 únicamente 22 | Cédula de extranjería | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 42 | Documento de identificación extranjero | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 50 | NIT de otro país | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. R-00-PN | No obligado a registrarse en el RUT PN | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 91 | NUIP | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 41 | Pasaporte | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 47 | Permiso especial de permanencia PEP | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 11 | Registro civil | Campo numérico, registro >= 3 y <=13 únicamente 43 | Sin identificación del exterior o para uso definido por la DIAN | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 21 | Tarjeta de extranjería | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 12 | Tarjeta de identidad | Campo Alfanumérico, máximo hasta 20 dígitos 89 | Salvoconducto de permanencia | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. 48 | Permiso protección temporal PPT | Debe ser tipo alfanumérico, con una longitud entre 1 y 20 dígitos. Ciudad |Country Code|State Code|City Code ----------|------------|----------|---------- Bogotá |CO |11 |11001 Medellín |CO |05 |05001 Nueva York|US |01 |0101 Aquí encontrarás la **[Lista de Ciudades](https://saprodcentralassets.blob.core.windows.net/siigoapi/documentation/Lista-de-ciudades.xlsx)** que puedes utilizar en Siigo API. Código |Responsabilidades fiscales ----------------|--------------------------------------- R-99-PN |No Aplica - Otros* O-13 |Gran contribuyente O-15 |Autorretenedor O-23 |Agente de retención IVA O-47 |Régimen simple de tributación + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (CustomerIn) + Response 201 (application/json) + Attributes (CustomerOut) + Body ## Consultar Cliente [GET /v1/customers/{customer_id}] Consultar un tercero por su id. Se manejan los siguientes datos informativos: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **id** |String | Identificador del cliente. **type** |String | Tipo de cliente, valor por default Customer. **person_type** |String | Identifica si el tercero es person o company. **id_type.code** |string | Código del tipo de documento, 13 para personas y 31 para empresas. **id_type.name** |string | Nombre del tipo de documento. **identification** |String | Número de identificación del cliente. **check_digit** |String | Dígito verificación del número de identificación. **name** |String | Razón social o nombres y apellidos del cliente. **commercial_name** |String | Nombre comercial o Nombre de fantasía de la empresa cLiente. **branch_office** |number | Sucursal, valor por default 0. **active** |boolean | Estado del cliente en Siigo, valor por default true. **vat_responsible** |boolean | Tipo de régimen IVA. True si es responsable de IVA, False si no es responsable de IVA, valor por default false. **fiscal_responsibilities.code** |string | Código de la responsabilidad fiscal. **fiscal_responsibilities.name** |string | Nombre de la responsabilidad fiscal. **address.address** |string | Dirección del cliente. **address.city.country_code** |string | Código del país. **address.city.country_name** |string | Nombre del país. **address.city.state_code** |string | Código del departamento/estado. **address.city.state_name** |string | Nombre del departamento/estado. **address.city.city_code** |string | Código de la ciudad. **address.city.city_name** |string | Nombre de la ciudad. **address.postal_code** |string | Código postal. **phones.indicative** |string | Indicativo del número de contacto. **phones.number** |string | Número de contacto. **phones.extension** |string | Extensión del número de contacto. **comments** |string | Observaciones o comentarios adicionales. **seller_id** |number | Usuario vendedor asigando al cliente. **collector_id** |number | Usuario cobrador encargado del recaudo de cartera. **created** |string | La fecha en la que se creó la entidad. **last_updated** |string | La fecha en la que se actualizó la entidad por última vez. **[¿Como consultar terceros en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/buscar-consultar-terceros-clientes-proveedores/)** + Parameters + customer_id (string,`6b6ceb28-b2eb-4b98-b3dd-26648a933c81`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (CustomerOut) + Body ## Listar Clientes [GET /v1/customers{?created_start}] Lista todos los clientes o terceros. Listado de clientes en Siigo Nube en el menú lateral: *Reportes* `>` *Cartera / proveedores* `>` *Búsqueda de terceros* O en el menú lateral: *Transacciones* `>` *Cuánto me deben* `>` *Clientes* **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **identification** |String | Devuelve resultados por "identification". **branch_office** |Number | Devuelve resultados por "branch_office". **created_start** |Date | Devuelve resultados donde el campo "created" es mayor o igual que este valor. **created_end** |Date | Devuelve resultados donde el campo "created" es menor o igual que este valor. **updated_start** |Date | Devuelve resultados donde el campo "last_updated " es mayor o igual que este valor. **updated_end** |Date | Devuelve resultados donde el campo "last_updated" es menor o igual que este valor. **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ + Parameters + created_start (optional, type, `2021-02-17`) + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (CustomersOutList) + Body ## Actualizar Cliente [PUT /v1/customers/{id}] Esta funcionalidad te permite actualizar un tercero, debe enviar igual los campos como en su creación porque remplaza los datos. Si hay un campo vacio quedara vacio en Nube. Nombre |Tipo |Descripción |Características -------------------------|-----------------------|--------------- |------------- **type** |String | Campo para identificar el tipo de cliente. | Campo opcional, con 3 tipos "Customer, Supplier, Other", si no se envia por defecto toma el tipo "Customer". **person_type** |String, required | Identifica si el tercero es "person o company". | Campo obligatorio, solo se puede enviar "person o company". **id_type** |string, required | Código del tipo de documento, 13 para cédula y 31 para NIT. | Campo obligatorio, las opciones se encuentran en el listado siguiente a este apartado". **identification** |String | Número de identificación del cliente. | Campo obligatorio, no permite carácteres especiales, máxmimo 50 carácteres, solo permite un número de identificación existente en Nube si es un nuevo número de sucursal. **check_digit** |String | Dígito verificación del número de identificación. | Campo opcional, solo recibe números enteros del 0 al 9. **name** |String, required | Razón social o nombres y apellidos del cliente. | Campo obligatorio, no permite carácteres especiales, Company es un solo campo, en el array de Person son 2 campos, tiene un máximo 100 carácteres por campo "string". **commercial_name** |String | Nombre comercial o Nombre de fantasía de la empresa cliente. | Campo opcional, alfanúmerico, permite espacios y carácteres especiales. **branch_office** |number | Sucursal, valor por default 0. | Campo opcional, solo recibe números enteros del 0 al 999. **active** |boolean | Estado del cliente en Siigo. |Campo opcional, si no se envia el valor por default es "true". **vat_responsible** |boolean | Tipo de régimen IVA. True si es responsable de IVA, False si no es responsable de IVA. | Campo opcional, si no se envia por default toma "false". **fiscal_responsibilities.code** |string, required | Código de la responsabilidad fiscal. | Campo olbigatorio, en su mayoria el campo es el código "R-99-PN" de No aplica - Otros. **address.address** |string, required | Dirección del cliente. | Campo obligatorio, alfanúmerico, permite espacios, máximo 256 carácteres. **address.city.country_code** |string, required | Código del país. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades, Por ejemplo: CO. **address.city.state_code** |string, required | Código del departamento/estado. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades, por ejemplo: 11. **address.city.city_code** |string, required | Código de la ciudad. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades. por ejemplo: 11001. **address.postal_code** |string | Código postal. | Campo opcional, alfanúmerico, no permite espacios, máximo 10 carácteres. **phones.indicative** |string | Indicativo del número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **phones.number** |string | Número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **phones.extension** |string | Extensión del número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.first_name** |string,required | Nombres del contacto. | Campo obligatorio, permite espacios y carácteres especiales, alfanpumerico, máximo 50 carácteres. **Contacts.last_name** |string | Apellidos del contacto. | Campo opcional, permite espacios y carácteres especiales, alfanpumerico, máximo 50 carácteres. **Contacts.email** |string | Correo del contacto. | Campo opcional, NO permite espacios ni carácteres especiales, alfanpumerico, máximo 100 carácteres. **Contacts.phone.indicative** |string | Indicativo del número del contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.phone.number** |string | Número del contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.phone.extension** |string | Extensión del número del contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **comments** |string | Observaciones o comentarios adicionales. | Campo opcional, alfanúmerico, permite espacios y carácteres especiales, máximo 4000 carácteres. **seller_id** |number | Usuario vendedor asigando al cliente. | Campo opcional, númerico, el id del usuario debe existir previamente en Siigo Nube, se puede consultar con una petición tipo GET al endpoint de https://api.siigo.com/v1/users. **collector_id** |number | Usuario cobrador encargado del recaudo de cartera. | Campo opcional, númerico, el id del usuario debe existir previamente en Siigo Nube, se puede consultar con una petición tipo GET al endpoint de https://api.siigo.com/v1/users. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (CustomerIn) + Response 200 (application/json) + Attributes (CustomerOut) + Body # Group Facturas de Venta Comprobante que permite registrar las cantidades y valores de los productos y/o servicios que estás vendiendo en la empresa. ## Crear Factura [POST /v1/invoices] 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. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> **date** |*date* | Fecha de comprobante. | Campo obligatorio, para Facturas de tipo electrónico NO puedes enviar una fecha anterior a la fecha actual. **number** |*number* | Consecutivo/número del comprobante | El campo opcional, si se envia debe ser un consecutivo que no exista en Nube. **customer.identification** |*string* | Número de identificación del cliente. | Campo obligatorio, debe existir en Siigo Nube, debe estar activo. **customer.branch_office** |*number* | Número de Sucursal del cliente. | Campo opcional, si no se envia toma por defecto el 0. **seller** |*number* | Identificador del vendedor asociado a la factura. | Campo obligatorio, debe existir en Siigo Nube, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/usuarios">**/users**</a> **stamp** |*object* | Objeto con el dato para envío de factura electrónica a la DIAN . | Campo opcional,se debe enviar en "true" para enviarlo a la DIAN, si no se envia toma por defecto "false". **mail** |*objeto* | Objeto con el dato para envío por mail del documento al cliente. | Campo opcional, se debe enviar en "true" para enviarlo por mail al cliente, si no se envia toma por defecto "false". **observations** |*string* | Comentarios u observaciones de la factura. | Campo opcional, tiene un limite de 4.000 carácteres. **retentions** |*array* | Array con los id de los impuestos tipo ReteICA, ReteIVA o Autoretención. | Campo opcional, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/impuestos/impuestos">**/taxes**</a> **advance_payment** |*number* | Valor de Anticipo o Copago. | Campo opcional, númerico de máximo 2 decimales, debe ser positivo y no superar el valor de la factura, debe tener la marcación en la configuración de la factura para enviarlo. **cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **currency.code** |*string* | Código de moneda. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **items.code** |*string* | Código único del producto. | Campo obligatorio, debe existir en Siigo Nube y estar activo, alfanúmerico. **items.description** |*string* | Nombre 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.quantity** |*number* | Cantidad. En Siigo Nube queda registado con dos decimales. | Campo obligatorio, númerico de máximo 2 decimales. **items.price** |*number* | Precio del producto / Valor unitario. | Campo obligatorio, númerico de máximo 6 decimales. **items.discount** |*number* | Valor de descuento del producto. | Campo opcional, puede ser por valor o porcentaje dependiendo de la configuración de la factura. **items.seller** |*number* | Identificador del vendedor asociado a cada item de la factura. | Debe tener activo el manejo de vendedor por item en la configuración de la factura para enviarlo, campo obligatorio, debe existir en Siigo Nube, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/usuarios">**/users**</a> **items.warehouse** |*number* | Identificador de la bodega/almacén asociada al producto. | Campo opcional, si se envia debe existir en Siigo nube y estar activo. **items.taxes.id** |*number* | Identificador único del impuesto. | Campo opcional, es númerico sin decimales y corresponde al identificador del impuesto, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/impuestos/impuestos">**/taxes**</a>, no son permitidos dos impuestos del mismo tipo en un ítem. **items.taxed_price:** |*number* | Precio del producto con impuesto de IVA incluido. | Por ejemplo si envia el valor 10.000 en taxed_price, la base del producto sera 8.403,36 y el IVA 19% sería 1.596,64, este campo es opcional, si se envía reemplaza al "items.price". **adittional_fields** |*array* | Campos adicionales para manejo de orden de compra y entrega para factura electrónica. | Campo opcional, alfanúmerico, cada campo de prefijo y número es de máximo 20 caracteres, permite carácteres especiales y espacios, debe estar activo el manejo en la configuración de la factura, . **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a>, NO puedes colocar en el array más de una forma de pago cuando al menos una tenga vencimiento, due_date: true. **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. **payments.due_date** |*string* | Fecha de pago del vencimeinto. | Si el payments.id maneja vencimiento, es obligatorio enviar este campo con la fecha del vencimiento en formato yyyy-MM-dd. **global_discounts.id** |*number* | ID del descuento global que desea aplicar. | Campo opcional, númerico, debe existir en Siigo Nube y estar activo. se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/facturas-de-venta/consultar-tipos-de-facturas-de-venta">**consultar-tipos-de-facturas-de-venta**</a> **global_discounts.percentage** |*number* | Porcentaje asociado al descuento global. | Campo opcional, númerico, deb estar en el rango de 0.01 y 99.99 máximo 2 decimales. **global_discounts.value** |*number* | Valor del descuento global. | Campo opcional, númerico, si se envia con el porcentage, tomara el valor del porcentaje, si lo envia solo se calculara el porcentaje. **[¿Como crear facturas no electrónicas en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/elaboracion-de-factura-venta-electronica/)** **Creación de un cliente desde la factura de venta:** Para facilitar el proceso de facturación, se puede crear el cliente desde la misma petición de la factura de venta. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **person_type** |String, required | Identifica si el tercero es "person o company". | Campo obligatorio, solo se puede enviar "person o company". **id_type** |string, required | Código del tipo de documento, 13 para cédula y 31 para NIT. | Campo obligatorio, las opciones se encuentran en el listado siguiente a este apartado". **identification** |String | Número de identificación del cliente. | Campo obligatorio, no permite carácteres especiales, máxmimo 50 carácteres, solo permite un número de identificación existente en Nube si es un nuevo número de sucursal. **branch_office** |number | Sucursal, valor por default 0. | Campo opcional, solo recibe números enteros del 0 al 999. **name** |String, required | Razón social o nombres y apellidos del cliente. | Campo obligatorio, no permite carácteres especiales, Company es un solo campo, en el array de Person son 2 campos, tiene un máximo 100 carácteres por campo "string". **address.address** |string, required | Dirección del cliente. | Campo obligatorio, alfanúmerico, permite espacios, máximo 256 carácteres. **address.city.country_code** |string, required | Código del país. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades, Por ejemplo: CO. **address.city.state_code** |string, required | Código del departamento/estado. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades, por ejemplo: 11. **address.city.city_code** |string, required | Código de la ciudad. | El código se debe consultar en Siigo Nube por la ruta de: Reportes - Carteras/ Proveedores - Reportes de sistema - Países-Departamentos-Ciudades. por ejemplo: 11001. **phones.indicative** |string | Indicativo del número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **phones.number** |string | Número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **phones.extension** |string | Extensión del número de contacto. | Campo opcional, númerico, no permite espacios ni carácteres especiales, máximo 10 carácteres. **Contacts.first_name** |string,required | Nombres del contacto. | Campo obligatorio, permite espacios y carácteres especiales, alfanpumerico, máximo 50 carácteres. **Contacts.last_name** |string | Apellidos del contacto. | Campo opcional, permite espacios y carácteres especiales, alfanpumerico, máximo 50 carácteres. **Contacts.email** |string | Correo del contacto. | Campo opcional, NO permite espacios ni carácteres especiales, alfanpumerico, máximo 100 carácteres. * **Json del objeto de customer para su creación desde la factura de venta:** "customer": { "person_type": "Person", "id_type": "13", "identification": "209048401", "branch_office": "0", "name": [ "Manuel", "Camacho" ], "address": { "address": "Cra. 18 #79A - 42", "city": { "country_code": "Co", "state_code": "11", "city_code": "11001" } }, "phones": [ { "number": "3006003344" } ], "contacts": [ { "first_name": "Manuel", "last_name": "Camacho", "email": "manuel.camacho@contacto.com" } ] } **Campos adicionales (adittional_fields)** Permite enviar los campos orden de compra y orden de entrega. * **purchase_order:** Campo de orden de compra. * **delivery_order:** Campo de orden de entrega. "additional_fields": { "purchase_order": { "prefix": "OC", "number": "23" }, "delivery_order": { "prefix": "OE", "number": "23", "date": "2021-05-19" } } **Ingresos para terceros (items.customer)** Para manejar terceros por item en facturas de venta, primero se debe tener activa la marcación en el tipo de documento que se puede consultar en: <a href="https://siigoapi.docs.apiary.io/#reference/facturas-de-venta/consultar-tipos-de-facturas-de-venta/consultar-tipos-de-facturas-de-venta">**/document-types FV**</a> Para recibir el campo se debe tener en el tipo de documento el campo "customer_by_item": true Se debe añadir un objeto en el array de items donde incluya la identificación del tercero que se quiere relacionar a este ítem: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **items.customer.identification** |*string* | Número de identificación del tercero del item. | Campo opcional si no se envia se toma por defecto el customer principal de la factura de venta, no se puede modificar, debe estar activo. **items.customer.branch_office** |*number* | Número de Sucursal del tercero del item. | Campo opcional, si no se envia toma por defecto el 0. * **Json de ejemplo de un item con ingresos para terceros** "items": [ { "code": "1", "description": "Alquiler", "quantity": 1, "customer": { "identification": "1234567", "branch_office": "0", }, "price": 100000 } ] **Facturar productos de obsequio** Para facturar items con valor en 0, se debe aclarar ante la DIAN cual es el valor real del item y quien asume el IVA de este producto si al empresa o el cliente. Para esto se agregaron los siguientes campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **items.tax_base** |*number* | Precio base para el calculo del IVA | Campo obligatorio si envia el campo items.price en 0, el valor debe ser mayor a 0 de máximo 11 enteros y 2 decimales. **items.taxpayer** |*string* | Índica quien asume el IVA del producto facturado en 0 | Campo obligatorio si envia el campo items.price en 0, solo admite los valores "Customer" o "Company". **Json de ejemplo de un item con valor en 0 de obsequio:** ], "items": [ { "code": "1", "description": "Alquiler", "quantity": 2, "price": 0, "tax_base": 1000, "taxpayer": "Company", "taxes": [ { "id": 31779 } ] } ] **Campos para empresas de transporte (transport)** Permite enviar los campos requeridos en facturación electronica para empresas de transporte, detalle de los campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **items.transport.file_number** |*number* | Número de radicado | Campo opcional (Aplica para empresas de transporte de carga), debe ser númerico entre 1 y 100.000.000.000. **items.transport.shipment_number** |*string* | Número de remesa | Campo opcional (Aplica para empresas de transporte de carga), alfanumérico permite uso de espacio, guion medio (-), guion bajo (_), slash (/) y coma (,) , permite máximo 15 carácteres. **items.transport.transported_quantity** |*number* | Cantidad transportada | Campo opcional (Aplica para empresas de transporte de carga), numérico, sin uso decimales, Límite de 8 caracteres. **items.transport.measurement_unit** |*string* | Unidad de medida | Campo opcional (Aplica para empresas de transporte de carga), solo permite los valores: "GLL" de Galón y "KGM" de Kilogramo. **items.transport.freight_value** |*number* | Valor Flete | Campo opcional (Aplica para empresas de transporte de carga), numérico, sin uso decimales, límite de 12 caracteres. **items.transport.purchase_order** |*string* | Orden de compra | Campo opcional (Aplica para empresas de transporte de carga), Campo alfanumérico con un Límite de 50 caracteres. **items.transport.service_type** |*string* | Tipo de servicio | Campo opcional (Aplica para empresas de transporte de carga), pueden ser dos valores: servicio adicional es "AdditionalService" y remesa de transporte en el RNDC es "Shipment". * **Json de ejemplo de un item con campos de transporte:** "items": [ { "code": "Item-1", "quantity": 1, "price": 1069.77, "taxes": [ { "id": 13156 } ], "transport": { "file_number": 536, "shipment_number": "RM-145", "transported_quantity": 120, "measurement_unit": "KGM", "freight_value": 220000, "purchase_order": "OC-236", "service_type": "AdditionalService" } } ] **Campos para empresas del sector salud (healthcare_company)** A partir del 22 de Julio de 2025, se podrán enviar distintos tipos de operación para las facturas de venta y notas crédito del sector salud. Permite enviar los campos requeridos en facturación electronica para empresas del sector salud, detalle de los campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **healthcare_company.operation_type** |*string* | Tipo de operación | Campo obligatorio para facturas del sector de salud, puede contener los valores "SS-CUFE", "SS-SinAporte" o "SS-Recaudo" **healthcare_company.period_start** |*date* | Periodo de facturación inicio | Campo obligatorio si el tipo de operación es "SS-CUFE" o "SS-SinAporte" , debe ir en formato AAAA-MM-DD **healthcare_company.period_end** |*date* | Periodo de facturación final | Campo obligatorio si el tipo de operación es "SS-CUFE" o "SS-SinAporte", debe ir en formato AAAA-MM-DD **healthcare_company.payment_method** |*number* | Modalidad de pago | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", debe enviar el ID valido del listado de valores que se encuentra en la parte inferior. **healthcare_company.service_plan** |*number* | Cobertura - Plan servicios | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", debe enviar el ID valido del listado de valores que se encuentra ne la parte inferior. **healthcare_company.policy_number** |*string* | Número de poliza | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", alfanúmerico, de máximo 50 caracteres. **healthcare_company.contract_number** |*string* | Número de contrato | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", alfanúmerico, de máximo 50 caracteres. **healthcare_company.copayment** |*number* | Copago | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. **healthcare_company.coinsurance** |*number* | Cuota moderadora | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. **healthcare_company.cost_sharing** |*number* | Pagos compartidos | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. **healthcare_company.recovery_charge** |*number* | Cuota de recuperación | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. *Para las facturas de venta con el tipo de operación "SS-CUFE" se debe enviar al menos uno de los 4 campos de recaudo diligenciados ("copayment", "coinsurance", "cost_sharing", "recovery_charge")* **Listado de valores del campo "payment_method":** Número | Descripción ----------------------------|--------- 01 | Pago individual por caso, conjunto integral de atenciones, paquete o Canasta. 02 | Pago global prospectivo. 03 | Pago por capitación. 04 | Pago por evento. 05 | Otra modalidad (específica) **Listado de valores del campo "service_plan":** Número | Descripción ----------------------------|--------- 01 | Plan de beneficios en salud financiado con UPC 02 | Presupuesto máximo  03 | Prima EPS / EOC, no asegurados SOAT 04 | Cobertura Póliza SOAT  05 | Cobertura ARL 06 | Cobertura ADRES 07 | Cobertura Salud Pública 08 | Cobertura entidad territorial, recursos de oferta 09 | Urgencias población migrante 10 | Plan complementario en salud 11 | Plan medicina prepagada 12 | Otras pólizas en salud 13 | Cobertura Régimen Especial o Excepción 14 | Cobertura Fondo Nacional de Salud de las Personas Privadas de la Libertad 15 | Particular * **Json de ejemplo de campos del sector salud para el tipo SS-CUFE** "healthcare_company": { "operation_type": "SS-CUFE", "period_start": "2024-02-14", "period_end": "2024-03-16", "payment_method": "04", "service_plan": "01", "policy_number": "ZAS321456677", "contract_number": "CON1245636", "copayment": 22505.20, "coinsurance": 10805.20, "cost_sharing": 10500.00, "recovery_charge": 85236.43, } * **Json de ejemplo de campos del sector salud para el tipo SS-SinAporte** "healthcare_company": { "operation_type": "SS-SinAporte", "period_start": "2024-02-14", "period_end": "2024-03-16", "payment_method": "04", "service_plan": "01", "policy_number": "ZAS321456677", "contract_number": "CON1245636" } * **Json de ejemplo de campos del sector salud para el tipo SS-Recaudo** "healthcare_company": { "operation_type": "SS-Recaudo" } **Parámetros** Código |Moneda --------|--------------------------------------- COP |Peso colombiano EUR |Euro USD |Dólar estadounidense ANG |Florín antillano neerlandés ARS |Peso argentino AUD |Dólar australiano BOB |Boliviano BRL |Real brasileño CAD |Dólar canadiense CHF |Franco suizo CLP |Peso chileno CRC |Colón costarricense GBP |Libra esterlina GTQ |Quetzal guatemalteco HNL |Lempira hondureño JPY |Yen japonés MXN |Peso mexicano NZD |Dólar neozelandés PAB |Balboa panameño PEN |Nuevo sol peruano SGD |Dólar de Singapur UYU |Peso uruguayo **Estados en Factura Electrónica:** Estado |Recibido por la Dian |Descripción ----------------------------|---------------------|--------------- Draft |`NO` |En este estado una factura de tipo electrónico fue guardada satisfactoriamente en Siigo Nube pero no se ha enviado a la DIAN (No tiene CUFE) Accepted |`SI` |En este estado la factura fue enviada y aceptada por la DIAN Rejected |`NO` |En este estado la factura fue enviada a la DIAN con errores y fue rechazada, se debe corregir y enviar nuevamente desde Siigo Nube + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (InvoiceInDian) + Response 201 (application/json) + Attributes (InvoiceOutDian) + Body ## Edición de Facturas de venta [PUT /v1/invoices/{id}] Dentro de el manejo de este endpoint es importante tener en cuenta que hay varios campos que no será posible poder modificarlos como por ejemplo el document.id, customer.identification, currency.code, y si dentro de la configuración del documento está como numeración manual el campo de number. No se podrán editar facturas que estén en proceso de envío a la DIAN o aceptadas (Que tenga CUFE), tampoco facturas que tengan relacionados otros documentos en Siigo Nube (Notas crédito, Notas débito, Recibos de caja, Ajustes de cartera) se deben eliminar primero los documentos relacionados en Siigo Nube. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, no se puede modificar y debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> **number** |*number* | Consecutivo/número del comprobante | El campo opcional u obligatorio dependiendiendo la configuración de Siigo Nube, si se envia debe ser el mismo consecutivo de la factura. **customer.identification** |*string* | Número de identificación del cliente. | Campo obligatorio, no se puede modificar, debe estar activo. **customer.branch_office** |*number* | Número de Sucursal del cliente. | Campo opcional, si no se envia toma por defecto el 0. **seller** |*number* | Identificador del vendedor asociado a la factura. | Campo obligatorio, debe existir en Siigo Nube, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/usuarios">**/users**</a> **observations** |*string* | Comentarios u observaciones de la factura. | Campo opcional, tiene un limite de 4.000 carácteres. **retentions** |*array* | Array con los id de los impuestos tipo ReteICA, ReteIVA o Autoretención. | Campo opcional, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/impuestos/impuestos">**/taxes**</a> **advance_payment** |*number* | Valor de Anticipo o Copago. | Campo opcional, númerico de máximo 2 decimales, debe ser positivo y no superar el valor de la factura, debe tener la marcación en la configuración de la factura para enviarlo. **cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **currency.code** |*string* | Código de moneda. | Campo opcional, no se puede modificar, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **items.code** |*string* | Código único del producto. | Campo obligatorio, debe existir en Siigo Nube y estar activo, alfanúmerico. **items.description** |*string* | Nombre 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.quantity** |*number* | Cantidad. En Siigo Nube queda registado con dos decimales. | Campo obligatorio, númerico de máximo 2 decimales. **items.price** |*number* | Precio del producto / Valor unitario. | Campo obligatorio, númerico de máximo 6 decimales. **items.discount** |*number* | Valor de descuento del producto. | Campo opcional, puede ser por valor o porcentaje dependiendo de la configuración de la factura. **items.seller** |*number* | Identificador del vendedor asociado a cada item de la factura. | Debe tener activo el manejo de vendedor por item en la configuración de la factura para enviarlo, campo obligatorio, debe existir en Siigo Nube, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/usuarios">**/users**</a> **items.warehouse** |*number* | Identificador de la bodega/almacén asociada al producto. | Campo opcional, si se envia debe existir en Siigo nube y estar activo. **adittional_fields** |*array* | Campos adicionales para manejo de orden de compra y entrega para factura electrónica. | Campo opcional, alfanúmerico, cada campo de prefijo y número es de máximo 20 caracteres, permite carácteres especiales y espacios, debe estar activo el manejo en la configuración de la factura, . **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a>, NO puedes colocar en el array más de una forma de pago cuando al menos una tenga vencimiento, due_date: true. **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. **payments.due_date** |*string* | Fecha de pago del vencimeinto. | Si el payments.id maneja vencimiento, es obligatorio enviar este campo con la fecha del vencimiento en formato yyyy-MM-dd. **[¿Como editar facturas no electrónicas en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/editar-modificar-una-factura-venta-no-electronica/)** **Campos de ingresos para terceros (items.customer)** Para editar una factura con campos de ingresos para terceros, debes seguir los pasos descritos en la sección de ingresos para terceros en creación de facturas. **Campos para empresas del sector transporte (transport)** Para editar una factura con campos del sector transporte, debes seguir los pasos descritos en la sección de campos de transporte en creación de facturas. **Campos para empresas del sector salud (healthcare_company)** Para editar una factura con campos del sector salud, debes seguir los pasos descritos en la sección de campos de salud en creación de facturas. **Campos para facturar productos de obsequio** Para editar una factura con campos de productos de obsequio, debes seguir los pasos descritos en la sección de facturar productos obsequio en creación de facturas. + Parameters + id(string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (InvoiceInDian) + Response 201 (application/json) + Attributes (InvoiceOutDian) + Body ## Crear lote de Facturas de venta [POST /v1/invoices/batch] Crea un lote de facturas de venta enviando un arreglo de facturas y Siigo API las creará de manera asíncrona, te avisaremos mediante un webhook el estado de la creación de cada lote de facturas enviado. El request body no podrá superar 1MB de tamaño. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **notification_url** |*string* | URL a la cuál quieres ser notificado cuando se complete el procesamiento de un lote de facturas | Campo obligatorio, debe iniciar con "https://" y tener menos de 2048 caracteres. **invoices** |*array* | Array de facturas de venta a crear en el lote | Cada objeto del array debe cumplir con las mismas características de la creación de una factura individual descrita en <a href="https://siigoapi.docs.apiary.io/#reference/facturas-de-venta/crear-factura/crear-factura">**/Creación de facturas**</a> y adicionar a cada objeto un campo llamado "idempotency_key" **invoices.idempotency_key** |*string* | Cada uno de los objetos del array "invoices" debe tener un campo llamado "idempotency_key", es un identificador interno de tu empresa para identificar la factura | Campo obligatorio, alfanumérico, sin caracteres especiales, sin espacios en blanco, máximo 30 caracteres. ### Notificación del procesamiento del lote Una vez se complete el procesamiento del lote, que tardará de acuerdo a la cantidad de lotes en proceso y la cantidad de facturas enviadas en cada lote, se notificará a la "notification_url" el estado de procesamiento del lote y de cada una de las facturas enviadas, incluyendo el "idempotency_key"de cada factura, la información de la factura creada en el caso de las exitosas y el código de error en el caso de las que no resulten exitosas, como se ve en el siguiente ejemplo: * **Json de ejemplo de notificación al procesar un lote:** { "id": "ea6186c4-a11f-4694-90a4-c01b9785e9d2", "status": "Processed", "status_at": "2025-07-10T20:49:01.727Z", "notification_url": "https://webhook.site", "invoices": [ { "status_code": "201", "idempotency_key": "1032492954", "id": "166baecf-ae5c-402e-9c7a-1ce6a9c57b1d", "document": { "id": 138531 }, "prefix": "FT", "number": 7751, "name": "FV-890-7751", "date": "2025-07-10", "customer": { "id": "13a8cce1-b386-431c-9f8c-8b61b9683fa2", "identification": "103068522", "branch_office": 0 }, "seller": 35260, "total": 125000, "balance": 125000, "items": [ { "id": "ab926a80-82fb-4d25-b63e-1a385fd511f6", "code": "8648475", "quantity": 1, "price": 125000, "description": "Postman producto", "total": 125000 } ], "payments": [ { "id": 39803, "name": "Crédito", "value": 125000, "due_date": "2025-08-11" } ], "mail": { "status": "not_sent", "observations": "The invoice has not been sent by mail" }, "stamp": { "status": "Accepted", "cufe": "13a8cce1-b386-431c-9f8c-8b61b9683fa2" }, "metadata": { "created": "2025-07-10T20:48:59.8634833+00:00" }, "public_url": "https://documentview.siigo.com" }, { "status_code": "400", "idempotency_key": "1032492955", "error": { "status": 400, "errors": [ { "code": "invalid_total_payments", "message": "The total payments must be equal to the total invoice. The total invoice calculated is 10000", "params": [ "payments" ], "detail": "Check the API documentation: https://developer.siigo.com/introduction/codigos-de-error/invalid_total_payments" } ] } } ] } + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (InvoiceBatchIn) + Response 201 (application/json) + Attributes (InvoiceBatchOut) + Body ## Consultar Tipos de Facturas de venta [GET /v1/document-types?type=FV] Lista todos los tipos de Factura de venta que se encuentran configurados en Siigo Nube y sus características. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único del tipo de factura de venta, este dato se debe enviar en las creaciones de . code |*string* | Código asignado en Siigo Nube al tipo de factura de venta. name |*string* | Nombre del tipo de factura de venta. description |*string* | Descripción del tipo de factura de venta. type |*string* | Indica el tipo de documento en este "FV" para facturas de venta. active |*boolean* | Estado del tipo de documento. seller_by_item |*boolean* | Indica si se maneja vendedor por ítem o no en este tipo de factura de venta. cost_center |*boolean* | Indica si se pueden manejar centros de costo o no en este tipo de factura de venta. cost_center_mandatory |*boolean* | Indica si se maneja centro de costo de forma obligatoria en este tipo de factura de venta. automatic_number |*boolean* | Indica si se maneja numeración automática o no en este tipo de factura de venta, si es false, en la creación de facturas usando este tipo, se debe enviar el campo "number". consecutive |*number* | Número del próximo consecutivo de factura. discount_type |*string* | Indica el tipo de descuento que se maneja en este tipo de factura "Percentage" o "Value" de esto depende la forma en la que envias un descuento en un ítem al crear facturas de este tipo. decimals |*boolean* | Indica si se manejan decimales en este tipo de factura de venta. advance_payment |*boolean* | Indica si la factura maneja en campo de anticipos. reteiva |*boolean* | Indica si se pueden usar retenciones de tipo ReteIVA en este tipo de factura de venta. reteica |*boolean* | Indica si se pueden usar retenciones de tipo ReteICA en este tipo de factura de venta. self_withholding |*boolean* | Indica si maneja autoretención este tipo de factura de venta. self_withholding_limit |*number* | Indica valor minimo de autoretención en este tipo de factura de venta. electronic_type |*string* | Indica si el tipo de factura es de tipo electronico. cargo_transportation |*boolean* | Indica si la factura maneja los campos de transporte de carga. customer_by_item |*boolean* | Indica si la factura maneja ingresos para terceros en los items de la factura. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[DocumentTypeFV]) + Body ## Consultar Factura [GET /v1/invoices/{invoice_id}] Consultar una factura por su id. Esta es la información que obtendrás de la factura de venta consultada: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **id** |string | Identificador de la factura de venta. **document.id** |number | Identificador del comprobante, se puede consultar en https://api.siigo.com/v1/document-types?type=FV. **number** |number | Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. **name** |string | Tipo de Comprobante + Código de Comprobante + Número de Comprobante **date** |string | Fecha de la factura, formato yyyy-MM-dd. **customer.id** |string | Serial identificador del cliente. **customer.identification** |string |Número de identificación del cliente. **customer.branch_office** |string |Sucursal, valor por default 0. **cost_center** |number | Indica el Centro de costo de la factura. **currency.code** |string | Código de moneda. **currency.exchange_rate** |string | Tasa / Valor en moneda extranjera. **total** |number | Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. **balance** |number | Saldo pendiente de pago en la factura. **seller** |number | ID del vendedor asociado a la factura. **observations** |string | Comentarios para agregar información a la factura. **items.id** |string | Identificador del producto/servicio. **items.code** |string | Código único del producto. **items.description** |string | Nombre o descripción del producto/servicio. **items.quantity** |number | Cantidad. En Siigo Nube queda registado con dos decimales. **items.price** |number | Precio del producto / Valor unitario. En Siigo Nube queda registado con dos decimales. **items.discount.percentage** |number | Porcentaje de descuento del producto **items.discount.value** |number | Valor de descuento del producto. **items.taxes.id** |number | Identificador único del impuesto. **items.taxes.name** |string | Nombre del impuesto. **items.taxes.percentage** |number | Porcentaje de impuesto del producto **items.taxes.value** |number | Valor de impuesto del producto **items.taxes.total** |number | Total del producto, incluye impuestos. **payments.id** |number | ID del medio de pago. **payments.name** |string | Nombre del medio de pago. **payments.value** |number | Valor asociado al medio de pago. **payments.due_date** |string | Fecha pago cuota, formato yyyy-MM-dd. **created** |string | La fecha en la que se creó la entidad. **last_updated** |string | La fecha en la que se actualizó la entidad por última vez. **[¿Como consultar facturas en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/buscar-consultar-facturas-electronicas/)** Para visualizar una factura en Siigo Nube puedes ingresar al ícono de la lupa que corresponde al Buscador, digita el número y oprime en Facturas. **Consultas cuando tienen campos de ingresos para terceros(items.customer)** Si la factura tiene diligenciados los campos del sector salud, mostrara los siguientes campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **items.customer.identification** |*string* | Número de identificación del cliente. **items.customer.branch_office** |*string* | Sucursal, valor por default 0. **Consultas cuando tienen campos del sector salud (healthcare_company)** Si la factura tiene diligenciados los campos del sector salud, mostrara los siguientes campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **healthcare_company.operation_type** |*string* | Tipo de operación **healthcare_company.period_start** |*date* | Periodo de facturación inicio **healthcare_company.period_end** |*date* | Periodo de facturación final **healthcare_company.payment_method** |*number* | Modalidad de pago **healthcare_company.service_plan** |*number* | Cobertura - Plan servicios **healthcare_company.policy_number** |*string* | Número de poliza **healthcare_company.contract_number** |*string* | Número de contrato **healthcare_company.copayment** |*number* | Copago **healthcare_company.coinsurance** |*number* | Cuota moderadora **healthcare_company.cost_sharing** |*number* | Pagos compartidos **healthcare_company.recovery_charge** |*number* | Cuota de recuperación * **Json de ejemplo de campos del sector salud** "healthcare_company": { "operation_type": "SS-CUFE", "period_start": "2024-02-14", "period_end": "2024-03-16", "payment_method": "04", "service_plan": "01", "policy_number": "ZAS321456677", "contract_number": "CON1245636", "copayment": 500.0, "coinsurance": 600.0, "cost_sharing": 400.0, "recovery_charge": 1000.0 }, } **Consultas cuando tienen campos para empresas de transporte (transport)** Permite enviar los campos requeridos en facturación electronica para empresas de transporte, detalle de los campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **items.transport.file_number** |*number* | Número de radicado **items.transport.shipment_number** |*string* | Número de remesa **items.transport.transported_quantity** |*number* | Cantidad transportada **items.transport.measurement_unit** |*string* | Unidad de medida **items.transport.freight_value** |*number* | Valor Flete **items.transport.purchase_order** |*string* | Orden de compra **items.transport.service_type** |*string* | Tipo de servicio * **Json de ejemplo de un item con campos de transporte:** "items": [ { "code": "Item-1", "quantity": 1, "price": 1069.77, "taxes": [ { "id": 13156 } ], "transport": { "file_number": 536, "shipment_number": "RM-145", "transported_quantity": 120, "measurement_unit": "KGM", "freight_value": 220000, "purchase_order": "OC-236", "service_type": "AdditionalService" } } ] + Parameters + invoice_id (string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (InvoiceOut) + Body ## Borrar Factura [DELETE /v1/invoices/id_] No se podrán borrar facturas que estén en proceso de envío a la DIAN o aceptadas (Que tenga CUFE), tampoco facturas que tengan relacionados otros documentos en Siigo Nube (Notas crédito, Notas débito, Recibos de caja, Ajustes de cartera) se deben eliminar primero los documentos relacionados en Siigo Nube. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Body + Response 200 (application/json) + Headers + Body { "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb", "deleted": true } ## Anular Factura [POST /v1/invoices/id_/annul] No se puede anular facturas que estén en proceso de envío a la DIAN o aceptadas (Que tenga CUFE), tampoco facturas que tengan relacionados otros documentos en Siigo Nube (Notas crédito, Notas débito, Recibos de caja, Ajustes de cartera) se deben eliminar primero los documentos relacionados en Siigo Nube. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Body + Response 200 (application/json) + Headers + Body { "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb", "Annul": true } ## Listar Facturas [GET /v1/invoices{?created_start}] Lista todas las facturas de venta. Podrás realizar filtros al listado de facturas que deseas obtener usando los siguientes parámetros: **Query Parameters** Param |Type |Description ---------------------------|-----------|----------------------------------------------------------------------------------- **created_start** |Date | Devuelve resultados donde la fecha de creación es mayor o igual que este valor. **created_end** |Date | Devuelve resultados donde la fecha de creación es menor o igual que este valor. **updated_start** |Date | Devuelve resultados donde la fecha de última modificación es mayor o igual que este valor. **updated_end** |Date | Devuelve resultados donde la fecha de última modificación es menor o igual que este valor. **name** |Date | Permite consultar facturas por nombre ejemplo, FV-003-457. **customer_identification**|Date | Permite consultar facturas por cliente. **customer_branch_office** |Date | Permite consultar facturas por sucursal. **document_id** |Date | Permite consultar facturas por id. **date_start** |Date | Devuelve resultados de las facturas con fecha de elaboración asignada mayor o igual que este valor **date_end** |Date | Devuelve resultados de las facturas con fecha de elaboración asignada o igual que este valor **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ + Parameters + created_start (optional, type, `2021-02-17`) + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (InvoicesOutList) + Body ## Envío de facturas por mail [POST /v1/invoices/{id}/mail] Mediante este endpoint será posible generar envíos de facturas de venta a direcciones de correo electrónico, es posible enviar hasta 5 direcciones. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (CopyMailIn) + Response 201 (application/json) + Attributes (CopyMailOut) + Body ## Consulta de errores en facturas rechazadas por la DIAN [GET /v1/invoices/{id}/stamp/errors] Podrás consultar los errores de una factura que ha sido rechazada por la DIAN. + Parameters + id(string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (fvRejected) + Body ## PDF de Factura de Venta [GET /v1/invoices/{id}/pdf] Generar pdf y ver la vista previa de la factura de venta integrada. Para visualizar una factura en Siigo Nube puedes ingresar al ícono de la lupa que corresponde al Buscador, digita el número y oprime en Facturas. + Parameters + id(string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (pdf) + Body ## XML Factura de Venta [GET /v1/invoices/{id}/xml] Ahora podras consultar el XML de las facturas en formato base 64 desde el endpoint de invoices con el id de la factura/xml Para visualizar el XML en Siigo Nube, se debe ingresar al reporte de Proveedor tecnológico (PT) - Informes facturación electrónica. En el reporte de Comprobantes por cliente encontraras una columna llamada XML para descargarlo por cada factura. + Parameters + id(string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (xml) + Body # Group Notas Crédito Comprobante que permite registrar las devoluciones parciales o totales de una factura de venta. ## Crear Nota Crédito [POST /v1/credit-notes] Este endpoint te permite crear notas crédito. Campos del JSON: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |string | Identificador del tipo de nota crédito. | Campo obligatorio, númerico, el id debe existir. **number** |*number* | Consecutivo/número del comprobante | El campo opcional, si se envia debe ser un consecutivo que no exista en Nube. **date** |date | Fecha de creación de la nota crédito. | Campo obligatorio, formato de fecha aaaa/mm/dd, para Notas crédito de tipo electrónico NO puedes enviar una fecha anterior a la fecha actual. **invoice** |*string* | Codigo del tipo de nota crédito. | Campo opcional, si es electronico debe ser obligatorio, debe tener un formato correcto de UUID. **items.code** |*string* | Código único del producto. | Campo obligatorio, debe existir en Siigo Nube y estar activo, alfanúmerico. **items.description** |*string* | Nombre 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 nota crédito. **items.quantity** |*number* | Cantidad. En Siigo Nube queda registado con dos decimales. | Campo obligatorio, númerico de máximo 2 decimales. **items.price** |*number* | Precio del producto / Valor unitario. | Campo obligatorio, númerico de máximo 6 decimales. **items.discount** |*number* | Valor de descuento del producto. | Campo opcional, puede ser por valor o porcentaje dependiendo de la configuración de la factura. **cost_center** |*number* | Indica el número del centro de costos al cual contabilizara la NC. | Campo opcional, númerico. **reason** |*number* | Indica el motivo de rechazo en DIAN. | Campo obligatorio en documentos electronicos, númerico del 1 al 5. **stamp** |*object* | Objeto con el dato para envío de nota crédito electrónica a la DIAN . | Campo opcional,se debe enviar en "true" para enviarlo a la DIAN, si no se envia toma por defecto "false". **mail** |*objeto* | Objeto con el dato para envío por mail del documento al cliente. | Campo opcional, se debe enviar en "true" para enviarlo por mail al cliente, si no se envia toma por defecto "false". **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a> **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. **payments.due_date** |*string* | Fecha de pago del vencimeinto. | Si el payments.id maneja vencimiento, es obligatorio enviar este campo con la fecha del vencimiento en formato yyyy-MM-dd. Código |Motivo de rechazo DIAN -------------|--------------------------------------- 1 |Devolución parcial de los bienes y/o no aceptación parcial del servicio 2 |Anulación de factura electrónica 3 |Rebaja o descuento parcial o total 4 |Ajuste de precio 6 |Descuento comercial por pronto pago 7 |Descuento comercial por volumen de ventas * **Campos para realizar notas credito para facturas que no existan en Siigo Nube** Los siguientes campos se vuelven obligatorios si deseas crear una nota crédito a una factura de venta que NO existe en Siigo Nube: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **customer.identification** |*string* | Número de identificación del cliente. | Campo obligatorio si la nota crédito es a una factura que no existe en Siigo Nube, el tercero debe existir en Siigo Nube, debe estar activo. **customer.branch_office** |*number* | Número de Sucursal del cliente. | Campo opcional, si no se envia toma por defecto el 0. **seller** |*number* | Identificador del vendedor asociado a la nota crédito. | Campo obligatorio si la nota crédito es a una factura que no existe en Siigo Nube, debe existir en Siigo Nube, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/usuarios">**/users**</a> Adicionalmente, debes enviar un nuevo objeto llamado "invoice_data" el cuál reemplaza al campo "invoice" y debe incluir los siguientes campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **date** |*date* | Fecha de elaboración de la factura. | Campo obligatorio, formato de fecha aaaa/mm/dd, la fecha de la factura debe ser menor a la de la nota crédito. **prefix** |*string* | Prefijo de la factura. | Campo opcional. **number** |*number* | Consecutivo de la factura. | El campo es obligatorio si el campo "reason" tiene el código 2, de lo contrario es opcional. **cufe** |*string* | Código CUFE de la factura. | El campo es obligatorio si el campo "reason" tiene el código 2, de lo contrario es opcional, máximo 200 caracteres. * **Json de ejemplo de creación de una nota crédito a una factura que no este creada en Siigo** { "document": { "id": 2379 }, "date": "2024-05-24", "reason": "2", "customer": { "identification": "28211179", "branch_office": "0" }, "seller": 62, "invoice_data": { "date": "2024-03-20", "prefix": "FV", "number": "458", "cufe": "302580df-838b-4531-b8bf-dd3c9hasdfu8e5" }, "items": [ { "code": "Code-1", "description": "Producto de prueba", "quantity": "1", "price": 2000 } ], "payments": [ { "id": "542", "value": 2000 } ] } **Campos para empresas del sector salud (healthcare_company)** **Campos para empresas del sector salud (healthcare_company)** A partir del 22 de Julio de 2025, se podrán enviar distintos tipos de operación para las facturas de venta y notas crédito del sector salud. Permite enviar los campos requeridos para realizar una nota crédito a una factura de venta del sector salud, detalle de los campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **healthcare_company.operation_type** |*string* | Tipo de operación | Campo obligatorio, Debe ser el mismo tipo de operación que tenía la factura de venta a la que se aplica la nota crédito ("SS-CUFE", "SS-SinAporte" o "SS-Recaudo") según corresponda. **healthcare_company.period_start** |*date* | Periodo de facturación inicio | Campo obligatorio si el tipo de operación es "SS-CUFE" o "SS-SinAporte" , debe ir en formato AAAA-MM-DD **healthcare_company.period_end** |*date* | Periodo de facturación final | Campo obligatorio si el tipo de operación es "SS-CUFE" o "SS-SinAporte", debe ir en formato AAAA-MM-DD **healthcare_company.payment_method** |*number* | Modalidad de pago | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", debe enviar el ID valido del listado de valores que se encuentra en la parte inferior. **healthcare_company.service_plan** |*number* | Cobertura - Plan servicios | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", debe enviar el ID valido del listado de valores que se encuentra ne la parte inferior. **healthcare_company.policy_number** |*string* | Número de poliza | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", alfanúmerico, de máximo 50 caracteres. **healthcare_company.contract_number** |*string* | Número de contrato | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", "SS-SinAporte", alfanúmerico, de máximo 50 caracteres. **healthcare_company.copayment** |*number* | Copago | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. **healthcare_company.coinsurance** |*number* | Cuota moderadora | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. **healthcare_company.cost_sharing** |*number* | Pagos compartidos | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. **healthcare_company.recovery_charge** |*number* | Cuota de recuperación | Campo opcional, solo se usa en operaciones de tipo "SS-CUFE", Campo númerico de 12 dígitos, 10 entero y 2 decimales, debe ser un valor positivo, sin símbolos ni separadores de miles y con el signo punto como separador de decimales. *Para las notas crédito con el tipo de operación "SS-CUFE" se debe enviar al menos uno de los 4 campos de recaudo diligenciados ("copayment", "coinsurance", "cost_sharing", "recovery_charge")* **Listado de valores del campo "payment_method":** Número | Descripción ----------------------------|--------- 01 | Pago individual por caso, conjunto integral de atenciones, paquete o Canasta. 02 | Pago global prospectivo. 03 | Pago por capitación. 04 | Pago por evento. 05 | Otra modalidad (específica) **Listado de valores del campo "service_plan":** Número | Descripción ----------------------------|--------- 01 | Plan de beneficios en salud financiado con UPC 02 | Presupuesto máximo  03 | Prima EPS / EOC, no asegurados SOAT 04 | Cobertura Póliza SOAT  05 | Cobertura ARL 06 | Cobertura ADRES 07 | Cobertura Salud Pública 08 | Cobertura entidad territorial, recursos de oferta 09 | Urgencias población migrante 10 | Plan complementario en salud 11 | Plan medicina prepagada 12 | Otras pólizas en salud 13 | Cobertura Régimen Especial o Excepción 14 | Cobertura Fondo Nacional de Salud de las Personas Privadas de la Libertad 15 | Particular * **Json de ejemplo de campos del sector salud para el tipo SS-CUFE** "healthcare_company": { "operation_type": "SS-CUFE", "period_start": "2024-02-14", "period_end": "2024-03-16", "payment_method": "04", "service_plan": "01", "policy_number": "ZAS321456677", "contract_number": "CON1245636", "copayment": 22505.20, "coinsurance": 10805.20, "cost_sharing": 10500.00, "recovery_charge": 85236.43, } * **Json de ejemplo de campos del sector salud para el tipo SS-SinAporte** "healthcare_company": { "operation_type": "SS-SinAporte", "period_start": "2024-02-14", "period_end": "2024-03-16", "payment_method": "04", "service_plan": "01", "policy_number": "ZAS321456677", "contract_number": "CON1245636" } * **Json de ejemplo de campos del sector salud para el tipo SS-Recaudo** "healthcare_company": { "operation_type": "SS-Recaudo" } **Notas crédito con productos de obsequio** Para realizar notas crédito de facturas con items con valor en 0, se debe aclarar ante la DIAN cual es el valor real del item y quien asume el IVA de este producto si al empresa o el cliente. Para esto se agregaron los siguientes campos: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **items.tax_base** |*number* | Precio base para el calculo del IVA | Campo obligatorio si envia el campo items.price en 0, el valor debe ser mayor a 0 de máximo 11 enteros y 2 decimales. **items.taxpayer** |*string* | Índica quien asume el IVA del producto facturado en 0 | Campo obligatorio si envia el campo items.price en 0, solo admite los valores "Customer" o "Company". **Json de ejemplo de un item con valor en 0 de obsequio** ], "items": [ { "code": "1", "description": "Alquiler", "quantity": 2, "price": 0, "tax_base": 1000, "taxpayer": "Company", "taxes": [ { "id": 31779 } ] } ] + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (CreditNoteIn) + Response 201 (application/json) + Attributes (CreditNoteOut) + Body ## Consultar Tipos de notas crédito [GET /v1/document-types?type=NC] Lista todos los tipos de notas crédito que se encuentran configurados en Siigo Nube y sus características. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **id** |string | Identificador de la nota crédito. **code** |number | Codigo del tipo de nota crédito. **name** |string | Nombre interno para identificar el comprobante de nota crédito. **description** |string | Descripción del nombre de la nota crédito. **type** |string | Tipo de nota crédito. **active** |*boolean* | Indica si la nota crédito esta activa o no. **cost_center** |*boolean* | Indica si se pueden manejar centros de costo o no en este tipo de nota crédito. **cost_center_mandatory** |*boolean* | Indica si se maneja centro de costo de forma obligatoria en este tipo de nota crédito. **cost_center_default** |*boolean* | Indica si se maneja un centro de costos por defecto en el tipo de nota crédito. **automatic_number** |*boolean* | Indica si se maneja numeración automática o no en este tipo de nota crédito, si es false, en la creación de nota crédito usando este tipo, se debe enviar el campo "number". **consecutive** |*number* | Número del próximo consecutivo de la nota crédito. customer_by_item |*boolean* | Indica si el tipo de nota crédito maneja ingresos para terceros en los items. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[DocumentTypeNC]) + Body ## Consultar Nota Crédito [GET /v1/credit-notes/id] Consultar una nota crédito por su id. **Consultas cuando tienen campos de ingresos para terceros(items.customer)** Si la nota crédito tiene diligenciados los campos de ingresos para terceros, mostrara los siguientes campos: Nombre |Tipo |Descripción ----------------------------|--------------|------------------ **items.customer.identification** |*string* | Número de identificación del cliente. **items.customer.branch_office** |*string* | Sucursal, valor por default 0. + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (CreditNoteOut) + Body ## Listar Notas Crédito [GET /v1/credit-notes/] Lista todas las notas crédito. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **created_start** |Date | Devuelve resultados donde el campo "created" es mayor o igual que este valor. **created_end** |Date | Devuelve resultados donde el campo "created" es menor o igual que este valor. **updated_start** |Date | Devuelve resultados donde el campo "last_updated " es mayor o igual que este valor. **updated_end** |Date | Devuelve resultados donde el campo "last_updated" es menor o igual que este valor. **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (CreditNotesOutList) + Body ## PDF Notas Crédito [GET /v1/credit-notes/{id}/pdf] Generar pdf de Notas Crédito integrada. Para visualizar una Nota Crédito en Siigo Nube puedes ingresar al ícono de la lupa que corresponde al Buscador, digita el número y oprime en Notas Crédito. + Parameters + id(string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (pdfNC) + Body # Group Factura de compra o gasto Comprobante que permite registrar las compras o gastos de la empresa. ## Crear Factura de compra [POST /v1/purchases] Crear una nueva factura de compra o gasto. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/factura-de-compra-o-gasto/consultar-tipos-de-facturas-de-compra/consultar-tipos-de-facturas-de-compra">**/Consultar tipos de factura de compra**</a> **date** |*date* | Fecha de comprobante. | Campo obligatorio, debe ser en formato YYYY-MM-DD. **number** |*number* | Consecutivo/número del comprobante | El campo opcional, si se envia debe ser un consecutivo que no exista en Nube. **supplier.identification** |*string* | Número de identificación del proveedor. | Campo obligatorio, el tercero debe existir en Siigo Nube, debe estar activo. **supplier.branch_office** |*number* | Número de Sucursal del proveedor. | Campo opcional, si no se envia toma por defecto el 0. **discount_type** |*string* | Indica el tipo de descuento que se maneja en este tipo de factura "Percentage" o "Value" de esto depende la forma en la que envias un descuento en un ítem al crear facturas. | Campo opcional, solo permite los valores "Percentage" o "Value". **supplier_by_item** |*Boolean* | Indica si la factura maneja proveedor por item. | Campo opcional, Si envia "true" podra enviar el campo items.supplier si no se envia o se envia en false no admitira el campo en la petición. **tax_included** |*Boolean* | Indica si la factura maneja precios con impuesto incluido. Si el valor el campo item.price es 1.000 COP, entonces tomara de base 840.34 y el impuesto 159.66 para el total de 1.000 COP | Campo opcional, Si envia "true" podra enviar el sistema realizara el calculo del valor + Impuesto, si no se envia o se envia en false el impuesto se calculara en base al total del campo price. **observations** |*string* | Comentarios u observaciones de la factura. | Campo opcional, tiene un limite de 4.000 carácteres. **retentions** |*array* | Array con los id de los impuestos tipo ReteICA, ReteIVA. | Campo opcional, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/impuestos/impuestos">**/taxes**</a> **cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **currency.code** |*string* | Código de moneda. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **items.type** |*string* | Este campo indica el tipo de item. Si es Product (producto), FixedAsset (activo) o Account (cuenta contable) | Campo obligatorio, solo admite los 3 valores ya mencionados de Product (producto) FixedAsset (activo) Account (cuenta). **items.code** |*string* | Código único del producto, activo fijo o cuenta contable a utilizar dependiendo del tipo de ítem. | Campo obligatorio, alfanúmerico, los productos, activos fijos y cuentas contables deben existir y estar activos en Siigo Nube, para cuentas contables, no se podrán usar cuentas relacionadas a grupos de inventario, activos fijos o impuestos en Siigo Nube. **items.description** |*string* | Nombre 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.quantity** |*number* | Cantidad. En Siigo Nube queda registado con dos decimales. | Campo obligatorio, númerico de máximo 2 decimales. **items.price** |*number* | Precio del producto / Valor unitario. | Campo obligatorio, númerico de máximo 6 decimales. **items.discount** |*number* | Valor de descuento del producto. | Campo opcional, puede ser por valor o porcentaje dependiendo del campo discount_type. **items.supplier** |*number* | Identificador del proveedor asociado a cada item de la factura. | Este campo se mostrara cuando la factura tenga la marca de la opción de proveedor por item. **items.warehouse** |*number* | Identificador de la bodega/almacén asociada al producto. | Campo opcional, si se envia debe existir en Siigo nube y estar activo. **items.taxes.id** |*number* | Identificador único del impuesto. | Campo opcional, es númerico sin decimales. **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a> con el filtro de FC en la solicitud al endpoint. **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. **payments.due_date** |*string* | Fecha de pago del vencimeinto. | Si el payments.id maneja vencimiento, es obligatorio enviar este campo con la fecha del vencimiento en formato yyyy-MM-dd. **[¿Como crear facturas de compra en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/elaborar-factura-de-compra/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (PurchasesIn) + Response 201 (application/json) + Attributes (PurchasesOut) + Body ## Edición de Facturas de compra [PUT /v1/purchases/{id}] Dentro de el manejo de este endpoint es importante tener en cuenta que hay varios campos que no será posible poder modificarlos como por ejemplo el document.id, supplier.identification, currency.code y number. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, no se puede modificar y debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> **number** |*number* | Consecutivo/número del comprobante | El campo opcional u obligatorio dependiendiendo la configuración de Siigo Nube, si se envia debe ser el mismo consecutivo de la factura. **supplier.identification** |*string* | Número de identificación del proveedor. | Campo obligatorio, el tercero debe existir en Siigo Nube, debe estar activo. **supplier.branch_office** |*number* | Número de Sucursal del proveedor. | Campo opcional, si no se envia toma por defecto el 0. **supplier_by_item** |*Boolean* | Indica si la factura maneja proveedor por item. | Campo opcional, Si envia "true" podra enviar el campo items.supplier si no se envia o se envia en false no admitira el campo en la petición. **discount_type** |*string* | Indica el tipo de descuento que se maneja en este tipo de factura "Percentage" o "Value" de esto depende la forma en la que envias un descuento en un ítem al crear facturas. | Campo opcional, solo permite los valores "Percentage" o "Value". **supplier_by_item** |*Boolean* | Indica si la factura maneja proveedor por item. | Campo opcional, Si envia "true" podra enviar el campo items.supplier si no se envia o se envia en false no admitira el campo en la petición. **tax_included** |*Boolean* | Indica si la factura maneja precios con impuesto incluido. Si el valor el campo item.price es 1.000 COP, entonces tomara de base 840.34 y el impuesto 159.66 para el total de 1.000 COP | Campo opcional, Si envia "true" podra enviar el sistema realizara el calculo del valor + Impuesto, si no se envia o se envia en false el impuesto se calculara en base al total del campo price. **observations** |*string* | Comentarios u observaciones de la factura. | Campo opcional, tiene un limite de 4.000 carácteres. **retentions** |*array* | Array con los id de los impuestos tipo ReteICA, ReteIVA o Autoretención. | Campo opcional, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/impuestos/impuestos">**/taxes**</a> **cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **provider_invoice.prefix** |*string* | Prefijo de la factura de compra del proveedor. | Campo obligatorio, alfanúmerico de máximo 6 caracteres. **provider_invoice.number** |*string* | Consecutivo de la factura de compra del proveedor. | Campo obligatorio, solo admite números y debe ser de 11 enteros. **currency.code** |*string* | Código de moneda. | Campo opcional, no se puede modificar, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **items.type** |*string* | Este campo indica el tipo de item. Si es Product (producto), FixedAsset (activo) o Account (cuenta contable) | Campo obligatorio, solo admite los 3 valores ya mencionados de Product (producto) FixedAsset (activo) Account (cuenta). **items.code** |*string* | Código único del producto. | Campo obligatorio, debe existir en Siigo Nube y estar activo, alfanúmerico. **items.description** |*string* | Nombre 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.quantity** |*number* | Cantidad. En Siigo Nube queda registado con dos decimales. | Campo obligatorio, númerico de máximo 2 decimales. **items.price** |*number* | Precio del producto / Valor unitario. | Campo obligatorio, númerico de máximo 6 decimales. **items.discount** |*number* | Valor de descuento del producto. | Campo opcional, puede ser por valor o porcentaje dependiendo del campo discount_type. **items.supplier** |*number* | Identificador del proveedor asociado a cada item de la factura. | Este campo se mostrara cuando la factura tenga la marca de la opción de proveedor por item. **items.warehouse** |*number* | Identificador de la bodega/almacén asociada al producto. | Campo opcional, si se envia debe existir en Siigo nube y estar activo. **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a> con el filtro de FC en la solicitud al endpoint. **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. **payments.due_date** |*string* | Fecha de pago del vencimeinto. | Si el payments.id maneja vencimiento, es obligatorio enviar este campo con la fecha del vencimiento en formato yyyy-MM-dd. **[¿Como editar facturas de compra en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/modificar-o-editar-facturas-de-compra/)** + Parameters + id(string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (PurchasesIn) + Response 201 (application/json) + Attributes (PurchasesOut) + Body ## Consultar Tipos de Facturas de compra [GET /v1/document-types?type=FC] Lista todos los tipos de Factura de compra que se encuentran configurados en Siigo Nube y sus características. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único del tipo de factura de compra, este dato se debe enviar en las creaciones de la factura. code |*string* | Código asignado en Siigo Nube al tipo de factura de compra. name |*string* | Nombre del tipo de factura de compra. description |*string* | Descripción del tipo de factura de compra. type |*string* | Indica el tipo de documento en este caso "FC" para facturas de compra. active |*boolean* | indica el estado del tipo de documento, si se encuentra activo o inactivo. document_support |*boolean* | Indica si el documento es usado como documento soporte. cost_center |*boolean* | Indica si se pueden manejar centros de costo o no en este tipo de factura de compra. cost_center_mandatory |*boolean* | Indica si se maneja centro de costo de forma obligatoria en este tipo de factura de compra. automatic_number |*boolean* | Indica si se maneja numeración automática o no en este tipo de factura de compra, si es false, en la creación de facturas usando este tipo, se debe enviar el campo "number". consecutive |*number* | Número del próximo consecutivo de factura. decimals |*boolean* | Indica si se manejan decimales en este tipo de factura de compra. consumption_tax |*boolean* | Indica si el documento maneja impuesto al consumo. reteiva |*boolean* | Indica si se pueden usar retenciones de tipo ReteIVA en este tipo de factura de compra. reteica |*boolean* | Indica si se pueden usar retenciones de tipo ReteICA en este tipo de factura de compra. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[DocumentTypeFC]) + Body ## Consultar Facturas de compra [GET /v1/purchases/{purchases_id}] Consultar una factura por su id. Esta es la información que obtendrás de la factura de compra consultada: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **id** |string | Identificador de la factura de compra. **document.id** |number | Identificador del comprobante, se puede consultar en https://api.siigo.com/v1/document-types?type=FC. **number** |number | Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. **name** |string | Tipo de Comprobante + Código de Comprobante + Número de Comprobante **date** |string | Fecha de la factura, formato yyyy-MM-dd. **supplier.id** |string | Serial identificador del cliente. **supplier.identification** |string |Número de identificación del cliente. **supplier.branch_office** |string |Sucursal, valor por default 0. **discount_type** |string | Indica el tipo de descuento que se maneja en este tipo de factura "Percentage" o "Value" de esto depende la forma en la que envias un descuento en un ítem al crear facturas de este tipo. **supplier_by_item** |Boolean | Indica si la factura maneja proveedor por item. **cost_center** |number | Indica el Centro de costo de la factura. **currency.code** |string | Código de moneda. **currency.exchange_rate** |string | Tasa / Valor en moneda extranjera. **total** |number | Total de la factura, es calculado según el manejo de decimales que tenga configurada la empresa al momento de crear la factura. **balance** |number | Saldo pendiente de pago en la factura. **observations** |string | Comentarios para agregar información a la factura. **items.id** |string | Identificador del producto/servicio. **items.code** |string | Código único del producto. **items.description** |string | Nombre o descripción del producto/servicio. **items.quantity** |number | Cantidad. En Siigo Nube queda registado con dos decimales. **items.price** |number | Precio del producto / Valor unitario. En Siigo Nube queda registado con dos decimales. **items.discount.percentage** |number | Porcentaje de descuento del producto **items.discount.value** |number | Valor de descuento del producto. **items.taxes.id** |number | Identificador único del impuesto. **items.taxes.name** |string | Nombre del impuesto. **items.taxes.percentage** |number | Porcentaje de impuesto del producto **items.taxes.value** |number | Valor de impuesto del producto **items.taxes.total** |number | Total del producto, incluye impuestos. **payments.id** |number | ID del medio de pago. **payments.name** |string | Nombre del medio de pago. **payments.value** |number | Valor asociado al medio de pago. **payments.due_date** |string | Fecha pago cuota, formato yyyy-MM-dd. **created** |string | La fecha en la que se creó la entidad. **last_updated** |string | La fecha en la que se actualizó la entidad por última vez. **[¿Como consultar facturas en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/buscar-o-consultar-facturas-de-compra/)** Para visualizar una factura en Siigo Nube puedes ingresar al ícono de la lupa que corresponde al Buscador, digita el número y selecciona en el listado Facturas compra / Gasto. + Parameters + invoice_id (string,`b446fbc3-99c5-4c2d-8a28-1c0d3721ab91`) + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (PurchasesOut) + Body ## Borrar Factura de compra [DELETE /v1/pruchases/id] Borrar una factura de compra. Nombre |Tipo |Descripción ----------------------------|--------------|------------------ **id** |*string* | Indicador unico de la factura. **deleted** |*boolean* | Indica si la factura fue eliminada exitosamente. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Body + Response 200 (application/json) + Headers + Body { "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb", "deleted": true } # Group Recibos de Caja Comprobante que permite registrar los abonos a deuda, anticipos y recibos de caja avanzados. ## Crear Recibo de caja [POST /v1/vouchers] Este endpoint te permite crear recibos de caja. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> **date** |*date* | Fecha de comprobante. | Campo obligatorio, debe ir en fomato de AAAA-MM-DD. **type** | **string** | Indica el tipo de recibo que se realizara. | Campo obligatorio, se debe inficar si es anticipo, abono a deuda o un recibo avanzado. **customer.identification** |*string* | Número de identificación del cliente. | Campo obligatorio, debe existir en Siigo Nube, debe estar activo. **customer.branch_office** |*number* | Número de Sucursal del cliente. | Campo opcional, si no se envia toma por defecto el 0. **currency.code** |*string* | Código de moneda. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **items.due.prefix** |*string* | Prefijo del vencimiento. | Campo obligatorio, alfanúmerico que indica en comprobante o prefijo de vencimiento. **items.due.consecutive** |*number* | Consecutivo del vencimiento a pagar. | Campo obligatorio, debe ser númerico sin decimales. **items.due.quote** |*number* | Couta del vencimiento a pagar. | Campo obligatorio, debe ser númerico sin decimales. **items.due.date** |*date* | Fecha de pago del vencimiento. | Campo obligatorio, debe ir en fomato de AAAA-MM-DD. **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a> **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. Tipo |Tipo de Recibo ----------------|---------------------- DebtPayment |Abono a deuda AdvancePayment |Anticipo Detailed |Avanzado **Json de ejemplo de un recibo de anticipo:** ```json { "document": { "id": 27234 }, "type":"AdvancePayment", "date": "2021-04-12", "customer": { "identification": "109048401", "branch_office": "0" }, "payment": { "id": 5638, "value": 10000 }, "observations":"observación de prueba" } ``` + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (VoucherIn) + Response 201 (application/json) + Attributes (VoucherOut) + Body ## Crear Recibo de caja - Avanzado [POST /v1/Vouchers] Crear un nuevo Recibo de caja avanzado. Este tipo de recibo de caja tiene la característica de poder asociar múltiples registros contables en donde puede llevarse a cabo la adición de cuentas de bancos, vencimientos e impuestos. **Json de ejemplo:** ```json { "document": { "id": 24445 }, "date": "2023-12-15", "type": "Detailed", "customer": { "identification": "8694251", "branch_office": 0 }, "items": [ { "account": { "code": "11100501", "movement": "Debit" }, "description": "FV-2 Base", "value": 50 }, { "account": { "code": "13050501", "movement": "Credit" }, "due": { "prefix": "FV-1", "consecutive": 684, "quote": 1, "date": "2020-02-15" }, "description": "FV-2 Base", "value": 50 }, { "account": { "code": "24081001", "movement": "Debit" }, "tax": { "id": 13156 }, "description": "FV-2 Base", "value": 19 }, { "account": { "code": "11100501", "movement": "Credit" }, "description": "FV-2 Base", "value": 19 } ], "observations":"observación de prueba" } ``` + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (VoucherInDetailed) + Response 201 (application/json) + Attributes (VoucherOutDetailed) + Body ## Consultar Tipos de recibos de caja [GET /v1/document-types?type=RC] Lista todos los tipos de recibos de caja que se encuentran configurados en Siigo Nube y sus características. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **id** |string | Identificador de el recibo de caja. **code** |number | Codigo del tipo de recibo de caja. **name** |string | Nombre interno para identificar el comprobante de recibo de caja. **description** |string | Descripción del nombre de el recibo de caja. **type** |string | Tipo de recibo de caja. **active** |*boolean* | Indica si el recibo de caja esta activa o no. **cost_center** |*boolean* | Indica si se pueden manejar centros de costo o no en este tipo de recibo de caja. **cost_center_mandatory** |*boolean* | Indica si se maneja centro de costo de forma obligatoria en este tipo de recibo de caja. **cost_center_default** |*boolean* | Indica si se maneja un centro de costos por defecto en el tipo de recibo de caja. **automatic_number** |*boolean* | Indica si se maneja numeración automática o no en este tipo de recibo de caja, si es false, en la creación de recibo de caja usando este tipo, se debe enviar el campo "number". **consecutive** |*number* | Número del próximo consecutivo de el recibo de caja. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[DocumentTypeRC]) + Body ## Consultar Recibo de caja [GET /v1/vouchers/id] Consultar un Recibo de caja por su id. Se manejan los siguientes datos informativos: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **id** |string | Identificador de la recibo de caja. **document.id** |number | Identificador del comprobante, se puede consultar en https://api.siigo.com/v1/document-types?type=RC. **number** |number | Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. **name** |string | Tipo de Comprobante + Código de Comprobante + Número de Comprobante. Por ejemplo: RC-1-22 **date** |string | Fecha de la recepción de pago, formato yyyy-MM-dd. **customer.id** |string | Serial identificador del cliente. **customer.identification** |string | Número de identificación del cliente. **customer.branch_office** |string |Sucursal, valor por default 0. **payments.id** |number | ID del medio de pago. **payments.name** |string | Nombre del medio de pago. **payments.value** |number | Valor asociado al medio de pago. **cost_center** |number | Indica el Centro de costo del recibo de caja. **observations** |string | Comentarios para agregar información al recibo de caja. + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (VoucherOut) + Body ## Listar Recibos de Caja [GET /v1/vouchers/] Lista todos los Recibos de Caja. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **created_start** |Date | Devuelve resultados donde el campo "created" es mayor o igual que este valor. **created_end** |Date | Devuelve resultados donde el campo "created" es menor o igual que este valor. **updated_start** |Date | Devuelve resultados donde el campo "last_updated " es mayor o igual que este valor. **updated_end** |Date | Devuelve resultados donde el campo "last_updated" es menor o igual que este valor. **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (VouchersOutList) + Body # Group Recibos de pago o egreso Comprobante que permite registrar los abonos a deuda, anticipos y recibos de pago/egreso avanzados. ## Crear Recibo de pago o egreso [POST /v1/payment-receipts] Este endpoint te permite crear recibos de pago/egreso. Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> **date** |*date* | Fecha de comprobante. | Campo obligatorio, debe ir en fomato de AAAA-MM-DD. **type** | *string* | Indica el tipo de recibo que se realizara. | Se debe inficar si es anticipo, abono a deuda o un recibo avanzado. **supplier.identification** |*string* | Número de identificación del proveedor. | Campo obligatorio, debe existir en Siigo Nube, debe estar activo. **supplier.branch_office** |*number* | Número de Sucursal del proveedor. | Campo opcional, si no se envia toma por defecto el 0. **currency.code** |*string* | Código de moneda. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **items.due.prefix** |*string* | Prefijo del vencimiento. | Campo obligatorio, alfanúmerico que indica en comprobante o prefijo de vencimiento. **items.due.consecutive** |*number* | Consecutivo del vencimiento a pagar. | Campo obligatorio, debe ser númerico sin decimales. **items.due.quote** |*number* | Couta del vencimiento a pagar. | Campo obligatorio, debe ser númerico sin decimales. **items.due.date** |*date* | Fecha de pago del vencimiento. | Campo obligatorio, debe ir en fomato de AAAA-MM-DD. **payments.id** |*number* | ID del medio de pago. | Campo obligatorio, debe existir en Siigo Nube y estar activa, se puede consultar por la ruta: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/formas-de-pago">**/payment-types**</a> **payments.value** |*number* | Valor asociado al medio de pago. | Campo obligatorio, númerico, máximo 2 decimales. Tipo |Tipo de Recibo ----------------|---------------------- DebtPayment |Abono a deuda AdvancePayment |Anticipo Detailed |Avanzado **Json de ejemplo de un recibo de anticipo:** ```json { "document": { "id": 27234 }, "type":"AdvancePayment", "date": "2025-01-12", "supplier": { "identification": "109048401", "branch_office": "0" }, "payment": { "id": 5638, "value": 10000 }, "observations":"observación de prueba" } ``` + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (PayoutsIn) + Response 201 (application/json) + Attributes (PayoutsOut) + Body ## Crear Recibo de pago/egreso - Avanzado [POST /v1/payment-receipts] Crear un nuevo Recibo de pago/egreso avanzado. Este tipo de recibo de pago/egreso tiene la característica de poder asociar múltiples registros contables en donde puede llevarse a cabo la adición de cuentas de bancos, vencimientos e impuestos. **Json de ejemplo:** ```json { "document": { "id": 24445 }, "date": "2015-01-15", "type": "Detailed", "supplier": { "identification": "8694251", "branch_office": 0 }, "items": [ { "account": { "code": "11100501", "movement": "Credit" }, "description": "FC-2 Base", "value": 50 }, { "account": { "code": "13050501", "movement": "Debit" }, "due": { "prefix": "FC-1", "consecutive": 684, "quote": 1, "date": "2020-02-15" }, "description": "FC-2 Base", "value": 50 }, { "account": { "code": "24081001", "movement": "Debit" }, "tax": { "id": 13156 }, "description": "FC-2 Base", "value": 19 }, { "account": { "code": "11100501", "movement": "Credit" }, "description": "FC-2 Base", "value": 19 } ], "observations":"observación de prueba" } ``` + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (PayoutsInDetailed) + Response 201 (application/json) + Attributes (PayoutsOutDetailed) + Body ## Consultar Tipos de recibos de pago/egreso [GET /v1/document-types?type=RP] Lista todos los tipos de recibos de pago/egreso que se encuentran configurados en Siigo Nube y sus características. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **id** |string | Identificador de el recibo de pago/egreso. **code** |number | Codigo del tipo de recibo de pago/egreso. **name** |string | Nombre interno para identificar el comprobante de recibo de pago/egreso. **description** |string | Descripción del nombre de el recibo de pago/egreso. **type** |string | Tipo de recibo de pago/egreso. **active** |*boolean* | Indica si el recibo de pago/egreso esta activa o no. **cost_center** |*boolean* | Indica si se pueden manejar centros de costo o no en este tipo de recibo de pago/egreso. **cost_center_mandatory** |*boolean* | Indica si se maneja centro de costo de forma obligatoria en este tipo de recibo de pago/egreso. **cost_center_default** |*boolean* | Indica si se maneja un centro de costos por defecto en el tipo de recibo de pago/egreso. **automatic_number** |*boolean* | Indica si se maneja numeración automática o no en este tipo de recibo de pago/egreso, si es false, en la creación de recibo de pago/egreso usando este tipo, se debe enviar el campo "number". **consecutive** |*number* | Número del próximo consecutivo de el recibo de pago/egreso. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[DocumentTypeRP]) + Body ## Consultar Recibo de pago/egreso [GET /v1/payment-receipts/id] Consultar un Recibo de pago/egreso por su id. Se manejan los siguientes datos informativos: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **id** |string | Identificador de la recibo de pago/egreso. **document.id** |number | Identificador del comprobante, se puede consultar en https://api.siigo.com/v1/document-types?type=RP. **number** |number | Consecutivo/número del comprobante, el campo es obligatorio según la configuración del tipo de comprobante. **name** |string | Tipo de Comprobante + Código de Comprobante + Número de Comprobante. Por ejemplo: RP-1-22 **date** |string | Fecha de la recepción de pago, formato yyyy-MM-dd. **supplier.id** |string | Serial identificador del proveedor. **supplier.identification** |string | Número de identificación del proveedor. **supplier.branch_office** |string |Sucursal, valor por default 0. **payments.id** |number | ID del medio de pago. **payments.name** |string | Nombre del medio de pago. **payments.value** |number | Valor asociado al medio de pago. **cost_center** |number | Indica el Centro de costo del recibo de pago/egreso. **observations** |string | Comentarios para agregar información al recibo de pago/egreso. + Request + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (PayoutsOut) + Body ## Listar Recibos de pago/egreso [GET /v1/payment-receipts] Lista todos los Recibos de pago/egreso. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **created_start** |Date | Devuelve resultados donde el campo "created" es mayor o igual que este valor. **created_end** |Date | Devuelve resultados donde el campo "created" es menor o igual que este valor. **updated_start** |Date | Devuelve resultados donde el campo "last_updated " es mayor o igual que este valor. **updated_end** |Date | Devuelve resultados donde el campo "last_updated" es menor o igual que este valor. **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (PayoutsOutList) + Body ## Borrar recibo de pago/egreso [DELETE /v1/payment-receipts/id_] Borrar un recibo de pago/egreso identificando el ID del recibo que se desea eliminar. Nombre |Tipo |Descripción ----------------------------|--------------|------------------ **id** |*string* | Indicador unico del recibo de pago. **deleted** |*boolean* | Indica si el recibo de pago fue eliminada exitosamente. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Body + Response 200 (application/json) + Headers + Body { "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb", "deleted": true } # Group Comprobantes Contables Comprobante que permite registrar todo tipo de asientos contables. ## Crear Comprobante Contable [POST /v1/journals] En esta sección se muestra un ejemplo de la creación de un comprobante contable de caracteristicas de cuentas sin detalles. Si deseas implementar otro diferente al del ejemplo escríbenos a soporteapi@siigo.com para compartirte ejemplos de los demás tipos de cuentas. Siigo API te permite crear asientos con cuentas contables con las siguientes características: Nombre |Tipo |Descripción | Características ----------------------------|--------------|------------------ |---------------- **document.id** |*number* | Identificador del tipo de comprobante. | Campo obligatorio, debe existir en Siigo previamnete, se puede consultar por: <a href="https://siigoapi.docs.apiary.io/#reference/catalogos/tipos-de-comprobante">**/document-types**</a> **date** |*date* | Fecha de comprobante. | Campo obligatorio, para Facturas de tipo electrónico NO puedes enviar una fecha que tenga más de 10 días de diferencia respecto a la fecha actual. **number** |*number* | Consecutivo/número del comprobante | El campo opcional, si se envia debe ser un consecutivo que no exista en Nube. **currency.code** |*string* | Código de moneda. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **currency.exchange_rate** |*number* | Tasa / Valor en moneda extranjera. | Campo opcional, debe tener la marcación de manejo de moneda extranjera, si no se envia toma por defecto la moneda local, debe existir en Siigo Nube. **items.account.code** |*string* | Número de la cuenta contable. | Campo obligatorio, númerico sin decimales, debe existir la cuenta en Siigo Nube y estar activo. **items.account.movement** |*string* | Movimiento debito o crédito de la cuenta contable. | Campo obligatorio, debe ser "Debit" o "Credit". **items.customer.identification** |*string* | Número de identificación del cliente. | Campo obligatorio, debe existir en Siigo Nube, debe estar activo. **items.customer.branch_office** |*number* | Número de Sucursal del cliente. | Campo opcional, si no se envia toma por defecto el 0. **items.cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, es númerico sin decimales, debe existir en Siigo Nube y estar activo. **items.value** |*number* | Valor del movimiento contable. | Campo obligatorio, númerico con máximo 2 decimales. **items.due.prefix** |*string* | Prefijo del vencimiento. | Campo obligatorio si la cuenta esta relacionada con venciminetos de cartera, alfanúmerico que indica en comprobante o prefijo del vencimiento. **items.due.consecutive** |*number* | Consecutivo del vencimiento a pagar. | Campo obligatorio si la cuenta esta relacionada con venciminetos de cartera, debe ser númerico sin decimales. **items.due.quote** |*number* | Couta del vencimiento a pagar. | Campo obligatorio si la cuenta esta relacionada con venciminetos de cartera, debe ser númerico sin decimales. **items.due.date** |*date* | Fecha de pago del vencimiento. | Campo obligatorio si la cuenta esta relacionada con venciminetos de cartera, debe ir en fomato de AAAA-MM-DD. **items.tax.id** |*number* | Identificador único del impuesto. | Campo obligatorio si la cuenta esta relacionada con impuestos, es númerico sin decimales. **items.tax.name** |*string* | Nombre del impuesto. | Campo obligatorio si la cuenta esta relacionada con impuestos, nombre del impuesto. **items.tax.type** |*string* | Tipo del impuesto, ejemplo: IVA | Campo obligatorio si la cuenta esta relacionada con impuestos, **items.tax.percentage** |*number* | Indica el número de porcentaje de los impuestos. | Campo obligatorio si la cuenta esta relacionada con impuestos, es númerico he indica el porcentaje del impuesto. **items.cost_center** |*number* | Identificador del Centro de costos. | Campo opcional, debe existir en Siigo Nube y estar activo. **taxes.base_value** |*number* | Indica el valor base para el calculo del impuesto. | Campo obligatorio si la cuenta esta relacionada con impuestos, es númerico y permite máximo 2 decimales. **items.fixed_assets** |*number* | Identificador del activo fijo. | Campo opcional, es númerico sin decimales, debe existir en Siigo Nube y estar activo. **items.product.code** |*string* | Código único del producto. | Campo obligatorio, debe existir en Siigo Nube y estar activo, alfanúmerico. **items.product.quantity** |*number* | Cantidad. En Siigo Nube queda registado con dos decimales. | Campo obligatorio, númerico de máximo 2 decimales. **items.product.warehouse** |*number* | Identificador de la bodega/almacén asociada al producto. | Campo opcional, si se envia debe existir en Siigo nube y estar activo. **observations** |*string* | Comentarios u observaciones del comprobante contable. | Campo opcional, tiene un limite de 4.000 carácteres. N° |Comprobantes Contables -------------|--------------------------------------- 1 |Sin detalles en cuentas contables (registros de banco, Tesorería, etc) 2 |Cuentas contables con manejo de vencimientos (cuentas por cobrar o pagar) 3 |Cuentas contables con manejo de impuestos 4 |Cuentas contables con manejo de activos fijos 5 |Cuentas contables con manejo de inventarios + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (JournalsInDev) + Response 201 (application/json) + Attributes (JournalsOutDev) + Body ## Consultar Tipos de comprobantes contables [GET /v1/document-types?type=CC] Lista todos los tipos de comprobantes contables que se encuentran configurados en Siigo Nube y sus características. **Query Parameters** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **id** |string | Identificador del comprobante contable. **code** |number | Codigo del tipo de comprobante contable. **name** |string | Nombre interno para identificar el comprobante contable. **description** |string | Descripción del nombre del comprobante contable. **type** |string | Tipo de comprobante contable. **active** |*boolean* | Indica si el comprobante contable esta activa o no. **cost_center** |*boolean* | Indica si se pueden manejar centros de costo o no en este tipo de comprobante contable. **cost_center_mandatory** |*boolean* | Indica si se maneja centro de costo de forma obligatoria en este tipo de comprobante contable. **cost_center_default** |*boolean* | Indica si se maneja un centro de costos por defecto en el tipo de comprobante contable. **automatic_number** |*boolean* | Indica si se maneja numeración automática o no en este tipo de comprobante contable, si es false, en la creación de comprobante contable usando este tipo, se debe enviar el campo "number". **consecutive** |*number* | Número del próximo consecutivo del comprobante contable. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[DocumentTypeCC]) + Body ## Listar Comprobantes Contables [GET /v1/journals/] Lista todos los comprobantes contables. **Query Parameters** Param |Type |Description ---------------------------|-----------|----------------------------------------------------------------------------------- **document_id** |Date | Permite consultar comprobantes contables por id. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (JournalsInDev) + Response 201 (application/json) + Attributes (JournalsOutDev) + Body # Group Reportes Este endpoint permite generar reportes finacieros y contables en formato de Excel. ## Generar Balance de prueba general [POST /v1/test-balance-report] Esta funcionalidad te retornará una URL para descargar un archivo de excel con el balance de prueba general de tu empresa. Para generar un reporte de Balance de prueba debes tener en cuenta la siguiente información que debes enviar en el cuerpo de la petición: Nombre |Tipo |Descripción |Características ----------------|------------------------------|-----------------------------------|--------------- account_start |*string* | Número de la cuenta contable desde la que se generara el reporte. | Debe existir en Siigo Nube y debe ser inferior o igual al de número de la cuenta final, es opcional, si no se envía o se envía vacío "" se tomará la primer cuenta que tenga creada. account_end |*string* | Número de la cuenta contable hasta la que terminara el reporte. | Debe existir en Siigo Nube, debe ser mayor o igual al número de la cuenta inicial, es opcional, si no se envía o se envía vacío se tomará la última cuenta que tenga creada. year |*number* | Año del cual se quiere generar el reporte. | Debe ser un número entero de cuatro (4) dígitos, es obligatorio. month_start |*number* | Número del mes inicial desde el que se generara el reporte. | Debe ser un número entero entre 1 y 13, no debe ser mayor al número del mes final y es obligatorio. month_end |*number* | Número del mes final hasta el que se generara el reporte. | Debe ser un número entero entre 1 y 13, no debe ser menor al número del mes inicial y es obligatorio. includes_tax_difference |*boolean* | Indica si el reporte incluye las cuentas contables de diferencia fiscal | Debe ser un boleano con "true" o "false" según se requiera. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- file_id |*string* | Id del reporte generado. file_url |*string* | Enlace para descargar el reporte generado en Excel. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (BalanceIn) + Response 201 (application/json) + Attributes (Balanceout) + Body ## Generar balance de prueba por tercero [POST /v1/test-balance-report-by-thirdparty] Esta funcionalidad te retornará una URL para descargar un archivo de excel con el balance de prueba por tercero de tu empresa. Para generar un reporte de Balance de prueba debes tener en cuenta la siguiente información que debes enviar en el cuerpo de la petición: Nombre |Tipo |Descripción |Características ----------------|------------------------------|-----------------------------------|--------------- account_start |*string* | Número de la cuenta contable desde la que se generara el reporte. | Debe existir en Siigo Nube y debe ser inferior o igual al de número de la cuenta final, es opcional, si no se envía o se envía vacío "" se tomará la primer cuenta que tenga creada. account_end |*string* | Número de la cuenta contable hasta la que terminara el reporte. | Debe existir en Siigo Nube, debe ser mayor o igual al número de la cuenta inicial, es opcional, si no se envía o se envía vacío se tomará la última cuenta que tenga creada. year |*number* | Año del cual se quiere generar el reporte. | Debe ser un número entero de cuatro (4) dígitos, es obligatorio. month_start |*number* | Número del mes inicial desde el que se generara el reporte. | Debe ser un número entero entre 1 y 13, no debe ser mayor al número del mes final y es obligatorio. month_end |*number* | Número del mes final hasta el que se generara el reporte. | Debe ser un número entero entre 1 y 13, no debe ser menor al número del mes inicial y es obligatorio. includes_tax_difference |*boolean* | Indica si el reporte incluye las cuentas contables de diferencia fiscal | Debe ser un boleano con "true" o "false" según se requiera. Customer.identification |*string* | Número de identificación del cliente | El número de documento debe ser entero, no debe llevar el dígito de verificación y NO es obligatorio. Customer.brach_office |*number* | Número de sucursal del tercero en Siigo Nube | Debe ser un número entero entre 0 y 999, NO es obligatorio. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- file_id |*string* | Id del reporte generado. file_url |*string* | Enlace para descargar el reporte generado en Excel. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Attributes (BalancePorTerceroIn) + Response 201 (application/json) + Attributes (Balanceout) + Body ## Generar reporte de cuentas por pagar [GET /v1/accounts-payable] Esta funcionalidad te retornará la información de las cuentas por pagar de la empresa en tipo Json. **Filtros:** Param |Type |Description -----------------------|-----------|----------------------------------------------------------------------------------- **due_date_start** |Date | Devuelve resultados donde el campo "due_date" es mayor o igual que este valor. **due_date_end** |Date | Devuelve resultados donde el campo "due_date" es menor o igual que este valor. **provider_identification** |Number | Muestra los resultados del proveedor que tenga este número de identificación. **provider_branch_office** |Number | Filtra por cada sucursal del proveedor si lo manejo, debe ser un valor númerico entre 0 y 999, debe enviar el tipo de identificación primero, ejemplo: provider_identification=1032492985&provider_branch_office=001 **Date**: yyyy-MM-dd **Date and time in UTC**: yyyy-MM-ddTHH:mm:ssZ **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- due.prefix |*string* | Prefijo del vencimiento due.consecutive |*string* | Consecutivo del vencimiento. due.quote |*string* | Cuota del vencimiento del pago. due.date |*string* | Fecha del vencimiento del pago. due.balance |*number* | Valor del vencimiento del pago en moneda local. provider.id |*string* | Número de id en el sistema del proveedor. provider.identification |*number* | Número de identificación del proveedor. provider.brach_office |*number* | Número de sucursal del proveedor. provider.name |*string* | Nombre del proveedor. cost_center.code |*string* | Código del centro de costo asociado al vencimiento del pago. cost_center.name |*string* | Nombre del centro de costo asociado al vencimiento del pago. currency.money_code |*string* | Nombre de la moneda extranjera del vencimiento del pago. currency.balance |*string* | Valor en moneda extranjera del vencimiento del pago. + Request (application/json) + Headers Authorization: [access_token] Partner-ID: [nombre de la aplicación que estás integrando] + Response 201 (application/json) + Attributes (ProviderOutList) + Body # Group Catálogos Enpoints que listan los diferentes catálogos de Siigo. ## Grupos de Inventario [GET /v1/account-groups] Este endpoint te permite consultar la clasificación de inventarios, la cuál corresponde a la clasificación general de los productos o servicios que se comercializan en la empresa y que se debe configurar previamente en Siigo Nube. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Id de la clasificación de inventario, este dato lo necesitarás para crear posteriormente un producto o servicio. name |*string* | Nombre de la clasificación de inventario. active |*boolean* | Indica si la clasificación de inventario está en uso. **[¿Como configurar mis grupos de inventario en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/grupo-inventario-servicios/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[AccountGroup]) + Body ## Impuestos [GET /v1/taxes] Este endpoint te permite consultar el listado de impuestos creados en Siigo Nube para utilizarlos en la creación de comprobantes. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Id del impuesto name |*string* | Nombre del impuesto type |*string* | Tipo de impuesto percentage |*number* | Porcentaje del impuesto active |*boolean* | Indica si el impuesto esta activo en la configuración. **[¿Como crear impuestos en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/crear-impuestos/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[Tax]) + Body ## Listas de Precio [GET /v1/price-lists] Este endpoint te permite consultar todas las listas de precios registradas para vender tus productos. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador de la lista de precio name |*string* | Nombre de la lista de precio active |*boolean* | Indica si la lista de precio está en uso. Position |*number* | Posición de la lista de precio. **[¿Como definir o activar listas de precio en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/definir-nombres-de-listas-de-precios/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[PriceList]) + Body ## Bodegas [GET /v1/warehouses] Este endpoint te permite consultar todas las bodegas creadas en Siigo Nube para el manejo de inventarios. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único de la bodega. name |*string* | Nombre de la bodega. active |*boolean* | Indica si la bodega está en uso. has_movements |*boolean* | Indica si la bodega tiene movimientos. **[¿Como crear bodegas en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/crear-bodegas/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[Warehouse]) + Body ## Usuarios [GET /v1/users] Este endpoint te permite consultar todos los usuarios registrados. Se utiliza como vendedor en la factura de venta. en Siigo Nube para el manejo de inventarios. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único del usuario o vendedor. username |*string* | Nombre o Correo de usuario. first_name |*string* | Nombre del usuario. last_name |*string* | Apellido del usuario. email |*string* | Correo del usuario. active |*boolean* | Estado del usuario. identification |*string* | Número de identificación del usuario. **[¿Como crear usuarios en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/crear-usuarios/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[User]) + Body ## Tipos de Comprobante [GET /v1/document-types?type=FV] Lista todos los comprobantes o documentos contables registrados. **Parámetros** Param |Type |Description --------------|-----------|----------------------------------------------------------------------------------- **type** |String | Devuelve los tipos de comprobantes de acuerdo a los tipos de documentos contables como FV, FC, NC, RC. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[Document]) + Body ## Formas de Pago [GET /v1/payment-types?document_type=FV] Este endpoint te permite consultar todos las formas de pago creadas en Siigo Nube. Se utilizan para identificar la forma de pago en los comprobantes de Factura de venta, recibos de caja y notas crédito. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único de la forma de pago. name |*string* | Nombre de la forma de pago. type |*string* | Tipo de forma de pago: Puede ser de Cartera, proveedor o cartera/proveedor. active |*boolean* | Estado de la forma de pago. due_date |*boolean* | Indica si la forma de pago maneja fecha de vencimiento. **[¿Como crear formas de pago en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/crear-formas-de-pago/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[PaymentTypes]) + Body ## Centros de Costo [GET /v1/cost-centers] Este endpoint te permite consultar todos los centros de costos creados en Siigo Nube. Se utilizan para relacionar en los comprobantes Factura de venta, Recibo de caja, comprobante contable y notas crédito. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único del centro de costo. code |*string* | Código del centro de costo. name |*string* | Nombre del centro de costo. active |*boolean* | Estado del centro de costo. **[¿Como crear centros de costo en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/crear-centros-de-costo/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[CostCenter]) + Body ## Activos Fijos [GET /v1/fixed-assets] Este endpoint te permite consultar todos los activos fijos creados en Siigo Nube. Se utilizan en los comprobantes contable para subir saldos o modificar los activos fijos. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*number* | Identificador único del activo fijo. name |*string* | Nombre del Activo fijo. group |*string* | Nombre del grupo de activo fijo. active |*boolean* | Indica si el activo fijo está en uso. **[¿Como crear activos fijos en Siigo Nube?](https://siigonube.portaldeclientes.siigo.com/basedeconocimiento/creacion-activos-fijos/)** + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (array[Fixedassets]) + Body # Group Webhooks Webhook (también conocido como devolución de llamada web) es un método que facilita que una aplicación o sistema proporcione información en tiempo real a otro sistema o aplicación cada vez que ocurre un evento a través de un HTTP POST. Suscribete a nuestos webhooks para recibir notificaciones en tiempo real de los siguientes eventos que ocurran en Siigo Nube: Evento |Descripción | -------------------------------|------------------------------|--------------- public.siigoapi.products.create|Creación de un nuevo producto en Siigo Nube. | public.siigoapi.products.update |Modificación de un producto en Siigo Nube. public.siigoapi.products.stock.update|Modificación del saldo disponible en inventario de un producto en Siigo Nube. | Esta es la información que recibirás en las notificaciones de los eventos products.create, products.update y products.stock.update: Nombre |Tipo |Descripción -------------------------|-----------------------|--------------- **company_key** |String | Identificador de la empresa en la que se generó el evento. **username** |String | Usuario API de la empresa. **topic** |String | Evento generado. **id** |String | Identificador del producto. **code** |String | Código único para identificar el producto. **name** |String | Nombre del producto / servicio. **account_group.id** |number | Identificador único de la clasificación de inventario. **account_group.name** |String | Nombre de la clasificación de inventario. **type.product** |String | Se identifica el tipo de producto, puede ser: Product, service o ConsumerGood. **stock_control** |boolean | Control de inventario, valor por default false. **active** |boolean | Estado del producto en Siigo, valor por default true. **tax_classification** |string | Indica si el producto es Gravado, exento o excluido. **tax_included** |boolean | Indica si el producto maneja IVA incluido o no, no es obligatorio. **tax_consumption_value** |number | Valor impuesto al consumo. **taxes.id** |number | Identificador único del impuesto. **taxes.name** |string | Nombre del impuesto. **taxes.type** |string | Tipo del impuesto, ejemplo: IVA **taxes.percentage** |number | Indica el número de porcentaje de los impuestos. **prices.currency_code** |string | Código de moneda, por ejemeplo: COP **prices.price_list.position** |number |Identificador único de la lista de precio. **prices.price_list.name** |string |Nombre de la lista de precio. **prices.price_list.value** |number |Valor de la lista de precio. **unit.code** |string | Código de la unidad de medida, por ejemplo: 94 **unit.name** |string | Nombre de la unidad de medida, por ejemplo: Unidad **unit_label** |string | Unidad de medida para impresión factura. **reference** |string | Referencia o código de fábrica del producto o servicio. **description** |string | Descripción del producto o servicio. **barcode** |string | Código de barras. **brand** |string | Marca del producto. **tariff** |string | Código arancelario. **model** |string | Modelo. **available_quantity** |number | Indica la cantidad disponible en el inventario. Si el producto se encuentra distribuido en múltiples bodegas, este atributo retorna la cantidad disponible en todas las bodegas. **warehouses.id** |number | Identificador único de la bodega. **warehouses.name** |string | Nombre de la bodega. **warehouses.quantity** |number | Cantidad disponible en la bodega. **created** |string | La fecha en la que se creó el producto. **last_updated** |string | La fecha en la que se actualizó el producto por última vez. **stock_updated** |string | La fecha en la que se actualizó el stock del producto por última vez. ## Suscribirse a un webhook [POST /v1/webhooks] Esta funcionalidad te permitirá suscribirte a las notificaciones de alguno de los eventos, se debe generar un request para cada evento al que se desee suscribir. Ten en cuenta la siguiente información que debes enviar en el cuerpo de la petición: Nombre |Tipo |Descripción | ----------------|------------------------------|-----------------------------------| application_id |*string* | Nombre del software o aplicación que recibirá las notificaciones. topic |*string* | Evento al que se desea suscribir de los mencionados anteriormente, ejemplo: "public.siigoapi.products.create" . url |*string* | Url en la que se desea recibir las notificaciones. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*string* | Id de la suscripción. application_id |*string* | Nombre del software o aplicación que recibirá las notificaciones. url |*string* | Url a la que se van a enviar las notificaciones. topic |*string* | Evento al que se suscribió. company_key |*string* | Nombre de la empresa suscrita al webhook. active |*boolean* | Indica el estado de la suscripción. created_at |*date* | Fecha y hora de la suscripción. + Request (application/json) + Headers Authorization: [access_token] + Attributes (WebhooksIn) + Response 201 (application/json) + Attributes (WebhooksOut) + Body ## Editar un webhook [PUT /v1/webhooks] Esta funcionalidad te permitirá editar las suscripciones a webhooks que tenga la compañia. Campos editables: Nombre |Tipo |Descripción | ----------------|------------------------------|-----------------------------------| application_id |*string* | Nombre del software o aplicación que recibirá las notificaciones. topic |*string* | Evento al que se desea suscribir de los mencionados anteriormente, ejemplo: "public.siigoapi.products.create" . url |*string* | Url en la que se desea recibir las notificaciones. active |*boolean* | Indica el estado de la suscripción. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*string* | Id de la suscripción. application_id |*string* | Nombre del software o aplicación que recibirá las notificaciones. url |*string* | Url a la que se van a enviar las notificaciones. topic |*string* | Evento al que se suscribió. company_key |*string* | Nombre de la empresa suscrita al webhook. active |*boolean* | Indica el estado de la suscripción. created_at |*date* | Fecha y hora de la suscripción. + Request (application/json) + Headers Authorization: [access_token] + Attributes (WebhooksInPUT) + Response 201 (application/json) + Attributes (WebhooksOut) + Body ## Consultar un webhook [GET /v1/webhooks] Este endpoint te permite consultar las suscripciones de webhooks que tiene la compañia. **Datos que encontrarás en el response:** Nombre |Tipo |Descripción ----------------|------------------------------|--------------- id |*string* | Id de la suscripción. application_id |*string* | Nombre del software o aplicación que recibe las notificaciones. url |*string* | Url a la que se envian las notificaciones. topic |*string* | Evento al que esta suscrito. company_key |*string* | Nombre de la empresa suscrita al webhook. active |*boolean* | Indica el estado de la suscripción. created_at |*date* | Fecha y hora de la suscripción. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Attributes (WebhooksOutGet) + Body ## Borrar una suscripción de Webhooks [DELETE /v1/webhooks/id_] Borrar una suscripción de webhooks. Para esto solo se debe enviar el ID de la suscripción acompañado del campo "deleted" en true para eliminarlo. + Request (application/json) + Headers Authorization: [access_token] Partner-Id: [nombre de la aplicación que estás integrando] + Response 200 (application/json) + Headers + Body { "id": "63f918c2-ca65-4edc-a7db-66bcdd5159fb", "deleted": true } #Group Software Development Kit Kit de herramientas dispuesto para que los desarrolladores puedan integran de manera rápida y fácil todas las funcionalidades de la nueva versión de SiigoApi. ## SDK Javascript SDK implementado en Javascript como paquete de NPM. Toda la documentación relacionada para la correcta implementación la encontraran en el siguiente enlace [SiigoApi SDK](https://www.npmjs.com/package/siigo_api) ####Ejemplo de implementación: Demo: https://demo-sdk-javascriipt.herokuapp.com/ Github: https://github.com/SiigoSAS/siigo_client_sdk_javascript

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jdlar1/siigo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server