Error al crear factura desde la API

Hola! Estoy intentando crear una factura de venta a través de la API pero me está dando el siguiente error:

{
    "message": "La Forma de pago no es válida",
    "code": 0
}

Este es el campo que estoy enviando de forma de pago:
"paymentForm": "transfer"
Sin embargo, en la documentación del endpoint no encuentro nada referente a como encontrar las formas de pago disponibles Crear factura de venta. Me pueden ayudar a entender mejor como enviar este valor? Gracias de antemano

¡Hola @Mariagabriela_Jaimes! :wave:

Para crear una factura de venta en Alegra Colombia, paymentForm indica la forma de pago de la factura de venta. Admite los valores: CASH para efectivo y CREDIT para crédito. Si la factura que vas a crear es electrónica, este atributo se vuelve obligatorio.

En nuestra documentación de creación de facturas de venta a través de la API, encuentras una sección específica de los parámetros requeridos para el envío de la petición dependiendo del país o versión de la cuenta donde se creará la factura.

Acá puedes encontrarlos :arrow_down:

Gracias! Tengo otra duda. Al crear un factura de venta mediante la API puedo enviar en el body del request los campos “total” y “totalPaid”? O esos se llenan automaticamente con el precio de los items asociados a la factura?

Lo que está sucediendo es que cuando creo la factura el campo “total” se llena automaticamente a partir de los items relacionados a la factura, pero el “totalPaid” queda siempre en 0. Saben por qué sucede esto?

¡Hola @Mariagabriela_Jaimes! :wave:

No. En el request debes incluir solamente los campos que tenemos definido para ello. “total” y “totalPaid” no hacen parte de los parámetros que acepta la API. En el mismo enlace que te compartí encuentras todos los parámetros que acepta la API para el endpoint que permite crear una factura de venta desde cero.

Ahora, los subtotales de la factura en general el sistema los toma calculando automáticamente de acuerdo a los ítems de venta que incluíste dentro del array items que envías dentro del request, y el totalPaid aparece porque en el mismo request puede enviarse información de pagos asociados a la factura en un array llamado payments. Si añadiste información en este array que crea un recibo de caja asociado a la factura creada, y sumará al valor que la API responde en el apartado totalPaid.

1 me gusta

Entendido, muchas gracias por la ayuda!

1 me gusta