13 de junio de 2026
Errores 10037, 10038 y 10039 ARCA: MonId y MonCotiz al facturar en WSFEv1
Todo comprobante de WSFEv1 lleva moneda (MonId) y cotización (MonCotiz), incluso si facturás en pesos. AFIP rechaza con error 10037 si MonId falta o no es un código válido de FEParamGetTiposMonedas, 10038 si MonCotiz no es mayor a 0, y 10039 si la moneda es pesos (MonId=PES) y MonCotiz no es exactamente 1.
MonId y MonCotiz van siempre, también en pesos
Un error típico de la primera integración: armás la factura en pesos y te olvidás de la moneda, porque "si es en pesos, ¿para qué?". Pero WSFEv1 exige MonId (código de moneda) y MonCotiz (cotización) en TODOS los comprobantes. Para una factura en pesos el valor es MonId='PES' y MonCotiz=1. Si faltan o están mal, FECAESolicitar devuelve Resultado="R" con uno de los códigos 10037, 10038 o 10039 — todas validaciones excluyentes que bloquean el CAE.
Qué valida cada código (textual del manual)
| Código | Regla |
|---|---|
| 10037 | MonId es obligatorio y debe ser un valor devuelto por FEParamGetTiposMonedas |
| 10038 | MonCotiz es obligatorio y mayor a 0 |
| 10039 | Si MonId=PES (pesos), MonCotiz debe ser igual a 1 |
Citas textuales del manual oficial de ARCA (WSFEv1):
- 10037 → «El campo
<MonId>es obligatorio y debe corresponder a algún valor devuelto por el método FEParamGetTiposMonedas». - 10038 → «El campo
<MonCotiz>es obligatorio, mayor a 0». - 10039 → «El campo
<MonCotiz>es obligatorio, e igual a 1 cuando se trate de<MonId>=PES».
Ejemplo: pesos vs. moneda extranjera
// Factura en pesos: SIEMPRE MonId 'PES' y MonCotiz 1
const enPesos = { MonId: 'PES', MonCotiz: 1 };
// Factura en dólares: MonCotiz = cotización del día (> 0).
// 'DOL' es el código habitual del dólar, pero confirmá los códigos
// válidos con FEParamGetTiposMonedas — no los inventes (evita 10037).
const enDolar = { MonId: 'DOL', MonCotiz: 1250.5 };Checklist:
MonIdpresente y tomado deFEParamGetTiposMonedas→ evita 10037.MonCotiz > 0→ evita 10038.- Si
MonId === 'PES'entoncesMonCotiz === 1→ evita 10039.