*Visión general › Para saber más*

# Importes y monedas

> Todo importe monetario es una cadena decimal con dos decimales, como `"1234.50"`, nunca un número de coma flotante, con una excepción: los precios de `priceConfig` y `defaultExpenses` de un servicio y el `customPrice` de un accesorio son números JSON. Cada documento lleva su propia moneda, que puede diferir de la de la cuenta.

## Formato

Los importes se serializan como cadenas decimales con exactamente dos decimales, redondeadas half up (ROUND_HALF_UP). La cadena evita la pérdida de precisión que causan los números de coma flotante. Por ejemplo, una factura devuelve `subTotal` como `"1234.50"`. El formato documentado admite un signo menos inicial para los valores negativos.

- Interpreta los importes con un tipo decimal: `Decimal` en Python, una librería decimal o céntimos enteros en JavaScript. No uses `parseFloat` ni `float`.
- No redondees ni sumes con aritmética de coma flotante. Suma con un tipo decimal y redondea la mitad hacia arriba al final.
- Compara cadenas solo después de normalizarlas al mismo número de decimales.

| Dirección | Formato |
| --- | --- |
| Respuesta | Siempre `"1234.50"`: dos decimales. |
| Petición | Envía el importe también como cadena decimal, con un máximo de dos decimales (salvo los precios de servicios y accesorios indicados arriba, que son números JSON). Por ejemplo, `POST /api/v1/treasury/payments` acepta `"250.00"` o `"250"`, mayor que cero. La excepción es `PUT /api/v1/invoices/external/{originSystem}/{originExternalId}`, cuyas cantidades, precios unitarios, tipos de impuesto y totales admiten hasta seis decimales y un signo menos inicial; las respuestas siguen dando dos. |

## Monedas

Una moneda es un código ISO 4217 como `EUR`. La cuenta tiene una moneda por defecto, que puedes leer en el campo `currency` de [`GET /api/v1/account`](https://docs.filmo.io/es/rest-api/endpoint-reference/account/get-the-account), pero la especificación indica que «documents may carry their own». Por tanto, una factura devuelve su propio `currency`, y debes usar ese campo, no el de la cuenta, cuando sumes documentos.

> **Envía la moneda al registrar un pago:** [`POST /api/v1/treasury/payments`](https://docs.filmo.io/es/rest-api/endpoint-reference/treasury/record-an-incoming-or-outgoing-payment) acepta un `currency` y usa `EUR` por defecto si lo omites. Envía de forma explícita la moneda del documento al que pertenece el pago en lugar de depender del valor por defecto.

No sumes nunca importes de monedas distintas. La API no hace ninguna conversión. Para el resto de formatos, consulta [tipos de datos](https://docs.filmo.io/es/rest-api/guides/data-types).

---

URL canónica: https://docs.filmo.io/es/further-reading/amounts-and-currencies  
Última actualización: 2026-10-09