{"_id":"@cafecafe/afip.ts","name":"@cafecafe/afip.ts","dist-tags":{"latest":"3.2.3"},"versions":{"3.2.3":{"name":"@cafecafe/afip.ts","version":"3.2.3","description":"Afip typescript SDK","source":"src/index.ts","main":"lib/index.js","types":"lib/index.d.ts","scripts":{"build":"npx tsc","postbuild":"rimraf lib/soap/wsdl && copyfiles -u 2 src/soap/wsdl/* lib/soap/","test":"jest","doc":"typedoc --theme oxide --name 'afip.ts' --out docs src/index.ts","wsdl-gen":"wsdl-to-ts --","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:preview":"vitepress preview docs"},"author":{"name":"valiuLab"},"license":"ISC","devDependencies":{"@jest/globals":"^29.6.2","@types/jest":"^29.5.1","@types/node-forge":"^1.3.2","@types/underscore":"^1.11.5","@types/xml2js":"^0.4.11","copyfiles":"^2.4.1","jest":"^28.1.3","rimraf":"^5.0.7","ts-jest":"^28.0.8","ts-node":"^10.9.1","typescript":"^5.0.4","vitepress":"1.2.3","wsdl-to-ts":"^0.2.3","wsdl-tsclient":"^1.4.0"},"dependencies":{"dotenv":"^16.3.1","moment":"^2.29.4","node-forge":"^1.3.1","soap":"^1.0.0","winston":"^3.10.0","xml2js":"^0.6.2"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/gabrielcardetti/afip.ts.git"},"bugs":{"url":"https://github.com/gabrielcardetti/afip.ts/issues"},"homepage":"https://github.com/gabrielcardetti/afip.ts#readme","keywords":["web-service","factura-electronica","padron","afip","sdk","package","api","soap","rest","endpoint","wsaa"],"_id":"@cafecafe/afip.ts@3.2.3","gitHead":"ffe27ef25830a9c6a4450b5cbb1f44ed0beeeade","_nodeVersion":"20.10.0","_npmVersion":"10.9.1","dist":{"integrity":"sha512-TV/MRtO9wa8V8mWOG66NgtN0aDjWK/3V5AaxT0eMT8Rc1l+PimWjltlw6An1nfTR0OUVCbFbU1IR7/N1zhS1bg==","shasum":"ab54475c60edd4aefbc4a58f20f387e156141a5c","tarball":"https://registry.npmjs.org/@cafecafe/afip.ts/-/afip.ts-3.2.3.tgz","fileCount":101,"unpackedSize":550430,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEn4ej/ZDWEEt/uE8DKkqJSYRHrhAmOQ/9zujgZZoKQWAiAVwISmbP6ykmtfCX+oCPTyDm+wmHiywginybjaEOuG8A=="}]},"_npmUser":{"name":"cafecafe","email":"gabicardetti@gmail.com"},"directories":{},"maintainers":[{"name":"cafecafe","email":"gabicardetti@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/afip.ts_3.2.3_1744624711282_0.8951313860516015"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-14T09:58:31.190Z","3.2.3":"2025-04-14T09:58:31.464Z","modified":"2025-04-14T09:58:31.704Z"},"maintainers":[{"name":"cafecafe","email":"gabicardetti@gmail.com"}],"description":"Afip typescript SDK","homepage":"https://github.com/gabrielcardetti/afip.ts#readme","keywords":["web-service","factura-electronica","padron","afip","sdk","package","api","soap","rest","endpoint","wsaa"],"repository":{"type":"git","url":"git+https://github.com/gabrielcardetti/afip.ts.git"},"author":{"name":"valiuLab"},"bugs":{"url":"https://github.com/gabrielcardetti/afip.ts/issues"},"license":"ISC","readme":"# 🚀 Afip SDK\n\n![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)\n\n[![npm](https://img.shields.io/npm/v/afip.ts.svg?style=flat-square)](https://npmjs.org/package/afip.ts)\n![GitHub Repo stars](https://img.shields.io/github/stars/ralcorta/afip.ts)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/ralcorta/afip.ts)\n![GitHub](https://img.shields.io/github/license/ralcorta/afip.ts)\n![npm](https://img.shields.io/npm/dt/afip.ts)\n\n\n<br />\n<p align=\"center\">\n  <a href=\"https://github.com/ralcorta/afip.ts\">\n    <img src=\"https://user-images.githubusercontent.com/19806540/198080937-468e851b-2ae4-40a7-b2c5-cb929ff7749a.png\" alt=\"afip.ts\" width=\"230\">\n  </a>\n\n  <h3 align=\"center\">Afip Ts</h3>\n\n  <p align=\"center\">\n    SDK para consumir y usar los Web Services de AFIP\n    <br />\n    <a href=\"https://ralcorta.github.io/afip.ts\">Ver documentacion completa</a>\n    <br />\n    <br />\n    <small> \n        Inspirado en <a href=\"https://github.com/AfipSDK/afip.js\">afip.js</a> \n      <br />\n      <a href=\"https://github.com/ralcorta/afip.ts/issues\">Reportar un bug</a>\n    </small>\n  </p>\n</p>\n\n\n<br />\n<p align=\"center\">\n<a href='https://cafecito.app/rodrigoalcorta' rel='noopener' target='_blank'><img srcset='https://cdn.cafecito.app/imgs/buttons/button_5.png 1x, https://cdn.cafecito.app/imgs/buttons/button_5_2x.png 2x, https://cdn.cafecito.app/imgs/buttons/button_5_3.75x.png 3.75x' src='https://cdn.cafecito.app/imgs/buttons/button_5.png' alt='Invitame un café en cafecito.app' /></a>\n</p>\n\n## Guia\n\n### Instalación\n\n##### NPM\n\n```sh\nnpm i afip.ts --save\n```\n\n##### Yarn\n\n```sh\nyarn add afip.ts\n```\n\n### Uso de la SDK\n\n##### Requisitos previos\n\nSe debe tener los certificados emitidos por AFIP, ya sean para los servidores de homologacion (test) o produccion, para poder pasarselos como parametro al paquete y que este haga uso de ellos para comunicarse con los web services.\n\n- [Guia de como obtenerlos](https://ralcorta.github.io/afip.ts/tutorial/enable_testing_certificates.html)\n- [Documentacion oficial de certificados](https://www.afip.gob.ar/ws/documentacion/certificados.asp)\n\n##### Ejemplo basico\n\nEjemplo de como generar factura electronica:\n\n```ts\nimport { Afip } from \"afip.ts\";\n\nconst afip: Afip = new Afip({\n  key: \"private_key_content\",\n  cert: \"crt_content\",\n  cuit: 20111111112,\n});\n\nconst date = new Date(Date.now() - new Date().getTimezoneOffset() * 60000)\n  .toISOString()\n  .split(\"T\")[0];\n\nconst payload = {\n  CantReg: 1, // Cantidad de comprobantes a registrar\n  PtoVta: 1, // Punto de venta\n  CbteTipo: 6, // Tipo de comprobante (ver tipos disponibles)\n  Concepto: 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios\n  DocTipo: 99, // Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)\n  DocNro: 0, // Número de documento del comprador (0 consumidor final)\n  CbteDesde: 1, // Número de comprobante o numero del primer comprobante en caso de ser mas de uno\n  CbteHasta: 1, // Número de comprobante o numero del último comprobante en caso de ser mas de uno\n  CbteFch: parseInt(date.replace(/-/g, \"\")), // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo\n  ImpTotal: 121, // Importe total del comprobante\n  ImpTotConc: 0, // Importe neto no gravado\n  ImpNeto: 100, // Importe neto gravado\n  ImpOpEx: 0, // Importe exento de IVA\n  ImpIVA: 21, //Importe total de IVA\n  ImpTrib: 0, //Importe total de tributos\n  MonId: \"PES\", //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)\n  MonCotiz: 1, // Cotización de la moneda usada (1 para pesos argentinos)\n  CondicionIVAReceptorId: 1, // Condición de IVA del receptor\n  Iva: [\n    // (Opcional) Alícuotas asociadas al comprobante\n    {\n      Id: 5, // Id del tipo de IVA (5 para 21%)(ver tipos disponibles)\n      BaseImp: 100, // Base imponible\n      Importe: 21, // Importe\n    },\n  ],\n};\n\n\nconst invoice = await afip.electronicBillingService.createInvoice(payload);\n\n```\n\nEjemplo de otros endpoints:\n```ts\nconst points = await afip.electronicBillingService.getSalesPoints();\n```\n\n## Caracteristicas\n\nToda configuracion del package es pasada por el constructor de la clase `Afip` la cual recibe [Context](https://www.afipts.com/guide/config.html).\n\nCaracteristicas:\n- Escrito enteramente con `Typescript`\n- Soporte para `Serverless`. El package permite manejar los token de autenticacion de manera aislada. \n\nPara mas <strong>documentacion</strong>, ir al [sitio oficial](https://ralcorta.github.io/afip.ts).\n\n## Desarrollo y contribuciones\n\n### Contribuciones\n\nSi encontras un bug o desaes sugerir algo, revisa de que no haya [issues](https://github.com/ralcorta/afip.ts/issues) con el mismo tema, y de ser asi [puedes generar uno aqui](https://github.com/ralcorta/afip.ts/issues/new).\n\n### Desarrollo\n\nSeria genial si puedes ayudarnos mejorando `afip.ts`. ¿Como hacer?\n\n1. [Clonar](https://github.com/ralcorta/afip.ts).\n\n2. `npm install`.\n\n3. Rompela escribiendo tu codigo.\n\n4. Correr los test: `npm test`.\n\n5. Cear un [Pull Request](https://github.com/ralcorta/afip.ts/compare).\n\n## Licencia\n\nEste proyecto esta bajo la licencia `MIT` - Ver [LICENSE](LICENSE) para mas detalles.\n\n<small>\nEste software y sus desarrolladores no tienen ninguna relación con la AFIP.\n</small>\n","readmeFilename":"README.md","_rev":"1-7269e6b11f19e5c9f61b39199bdbcbf2"}