Para facturar un servicio con Afip SDK, primero debes obtener un CAE usando el método createVoucher o su equivalente en tu lenguaje, especificando el concepto "2" (Servicios) y los datos requeridos como CUIT, punto de venta, tipo de comprobante, datos del receptor y montos. Es obligatorio incluir la condición frente al IVA del receptor y, para servicios, las fechas de prestación y vencimiento de pago.
Puedes hacerlo vía API o usando las librerías oficiales en Node.js, PHP, Python, Ruby, etc. Ejemplo en Node.js:
const data = {
CantReg: 1,
PtoVta: 1,
CbteTipo: 6, // Factura B, por ejemplo
Concepto: 2, // Servicios
DocTipo: 80, // CUIT
DocNro: 20123456789,
CbteDesde: 1,
CbteHasta: 1,
CbteFch: 20240601,
FchServDesde: 20240601,
FchServHasta: 20240601,
FchVtoPago: 20240610,
ImpTotal: 121,
ImpTotConc: 0,
ImpNeto: 100,
ImpOpEx: 0,
ImpIVA: 21,
ImpTrib: 0,
MonId: 'PES',
MonCotiz: 1,
CondicionIVAReceptorId: 1,
Iva: [{ Id: 5, BaseImp: 100, Importe: 21 }]
};
const res = await afip.ElectronicBilling.createVoucher(data);
console.log(res.CAE, res.CAEFchVto);
Más detalles y ejemplos en la documentación oficial. ¿Te gustaría ver el paso a paso completo o ejemplos en otro lenguaje?
Sources:
Que va en fecha vencikiento de pago?
Que va en fecha vencikiento de pago?
En "fecha de vencimiento de pago" (FchVtoPago) debes colocar la fecha límite en la que el receptor debe abonar el servicio facturado. Es obligatoria para comprobantes de servicios (concepto 2) y para productos y servicios (concepto 3), y debe estar en formato AAAAMMDD.
¿Te gustaría ver ejemplos prácticos o detalles sobre cómo calcularla?
Sources:
Si
Por ejemplo, si emites una factura de servicios hoy (01/06/2024) y el pago debe realizarse en 10 días, la "fecha de vencimiento de pago" será 20240611. Este campo se coloca en el parámetro FchVtoPago del JSON o del objeto de datos al crear el comprobante.
En Node.js sería así:
const data = {
// ...otros campos...
FchVtoPago: 20240611, // Fecha de vencimiento de pago en formato AAAAMMDD
// ...otros campos...
};
Recuerda que este campo es obligatorio para servicios y productos/servicios, y debe ser igual o posterior a la fecha de emisión. Más detalles en la documentación oficial de Afip SDK.
Sources:
Como va cuando facturo productos y servicios?
Cuando facturas productos y servicios (concepto 3), debes completar los campos de fechas: FchServDesde, FchServHasta y FchVtoPago. Estas indican el período del servicio y la fecha límite de pago, todas en formato AAAAMMDD. Son obligatorias para concepto 3.
¿Te gustaría ver un ejemplo de estructura de datos para este caso?
Sources:
Y si son 2 servicios con fechas diferentes?
Mi entendimiento es que, usando Afip SDK y el web service estándar, solo puedes informar un único rango de fechas (FchServDesde y FchServHasta) y una sola fecha de vencimiento de pago (FchVtoPago) por comprobante, aunque incluyas varios servicios. No es posible detallar múltiples rangos de fechas para distintos servicios en el mismo comprobante; deberías emitir comprobantes separados si los períodos no coinciden.
¿Te gustaría ver cómo estructurar el comprobante en este caso?
Sources: