|
| 1 | +const Afip = require('@afipsdk/afip.js'); |
| 2 | + |
| 3 | +const date = new Date(Date.now() - ((new Date()).getTimezoneOffset() * 60000)).toISOString().split('T')[0]; |
| 4 | + |
| 5 | +const data = { |
| 6 | + 'CantReg' : 1, // Cantidad de comprobantes a registrar |
| 7 | + 'PtoVta' : 1, // Punto de venta |
| 8 | + 'CbteTipo' : 6, // Tipo de comprobante (ver tipos disponibles) |
| 9 | + 'Concepto' : 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios |
| 10 | + 'DocTipo' : 80, // Tipo de documento del comprador (ver tipos disponibles) |
| 11 | + 'DocNro' : 20111111112, // Numero de documento del comprador |
| 12 | + 'CbteDesde' : 1, // Numero de comprobante o numero del primer comprobante en caso de ser mas de uno |
| 13 | + 'CbteHasta' : 1, // Numero de comprobante o numero del ultimo comprobante en caso de ser mas de uno |
| 14 | + 'CbteFch' : parseInt(date.replace(/-/g, '')), // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo |
| 15 | + 'ImpTotal' : 184.05, // Importe total del comprobante |
| 16 | + 'ImpTotConc' : 0, // Importe neto no gravado |
| 17 | + 'ImpNeto' : 150, // Importe neto gravado |
| 18 | + 'ImpOpEx' : 0, // Importe exento de IVA |
| 19 | + 'ImpIVA' : 26.25, //Importe total de IVA |
| 20 | + 'ImpTrib' : 7.8, //Importe total de tributos |
| 21 | + 'FchServDesde' : null, // (Opcional) Fecha de inicio del servicio (yyyymmdd), obligatorio para Concepto 2 y 3 |
| 22 | + 'FchServHasta' : null, // (Opcional) Fecha de fin del servicio (yyyymmdd), obligatorio para Concepto 2 y 3 |
| 23 | + 'FchVtoPago' : null, // (Opcional) Fecha de vencimiento del servicio (yyyymmdd), obligatorio para Concepto 2 y 3 |
| 24 | + 'MonId' : 'PES', //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos) |
| 25 | + 'MonCotiz' : 1, // Cotización de la moneda usada (1 para pesos argentinos) |
| 26 | + 'CbtesAsoc' : [ // (Opcional) Comprobantes asociados |
| 27 | + { |
| 28 | + 'Tipo' : 6, // Tipo de comprobante (ver tipos disponibles) |
| 29 | + 'PtoVta' : 1, // Punto de venta |
| 30 | + 'Nro' : 1, // Numero de comprobante |
| 31 | + 'Cuit' : 20111111112 // (Opcional) Cuit del emisor del comprobante |
| 32 | + } |
| 33 | + ], |
| 34 | + 'Tributos' : [ // (Opcional) Tributos asociados al comprobante |
| 35 | + { |
| 36 | + 'Id' : 99, // Id del tipo de tributo (ver tipos disponibles) |
| 37 | + 'Desc' : 'Ingresos Brutos', // (Opcional) Descripcion |
| 38 | + 'BaseImp' : 150, // Base imponible para el tributo |
| 39 | + 'Alic' : 5.2, // Alícuota |
| 40 | + 'Importe' : 7.8 // Importe del tributo |
| 41 | + } |
| 42 | + ], |
| 43 | + 'Iva' : [ // (Opcional) Alícuotas asociadas al comprobante |
| 44 | + { |
| 45 | + 'Id' : 5, // Id del tipo de IVA (ver tipos disponibles) |
| 46 | + 'BaseImp' : 100, // Base imponible |
| 47 | + 'Importe' : 21 // Importe |
| 48 | + } |
| 49 | + ], |
| 50 | + 'Opcionales' : [ // (Opcional) Campos auxiliares |
| 51 | + { |
| 52 | + 'Id' : 17, // Codigo de tipo de opcion (ver tipos disponibles) |
| 53 | + 'Valor' : 2 // Valor |
| 54 | + } |
| 55 | + ], |
| 56 | + 'Compradores' : [ // (Opcional) Detalles de los clientes del comprobante |
| 57 | + { |
| 58 | + 'DocTipo' : 80, // Tipo de documento (ver tipos disponibles) |
| 59 | + 'DocNro' : 20111111112, // Numero de documento |
| 60 | + 'Porcentaje' : 100 // Porcentaje de titularidad del comprador |
| 61 | + } |
| 62 | + ] |
| 63 | +}; |
| 64 | + |
| 65 | +const afip = new Afip({ CUIT: 20111111112 }); |
| 66 | + |
| 67 | +afip.ElectronicBilling.createVoucher(data).then(res => { |
| 68 | + console.log(res) |
| 69 | +}); |
| 70 | + |
0 commit comments