Usamos "semantic release library"(opens new window) (https://www.npmjs.com/package/semantic-release) para generar nuestras nuevas versiones, tags y changelogs. Para esto necesitamos specificar un mensaje en los commits con un formato que permita determinar que version es aumentada, y tambien ayudar a mejorar el CHANGELOG.md
Commit message
Release type
fix(pencil): stop graphite breaking when too much pressure applied
Patch Release
feat(pencil): add 'graphiteWidth' option
Minor Feature Release
perf(pencil): remove graphiteWidth option
BREAKING CHANGE: The graphiteWidth option has been removed. The default graphite width of 10mm is always used for performance reasons.
Debemos utilizar el metodo getTaxpayerDetails pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o null en caso de no existir en el padrón
const taxpayerDetails =await afip.registerScopeTenService.getTaxpayerDetails(
- 20111111111
-);//Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-
const serverStatus =await afip.registerScopeTenService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-
Debemos utilizar el metodo getTaxpayerDetails pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o null en caso de no existir en el padrón
const taxpayerDetails =
- await afip.registerScopeTThirteenService.getTaxpayerDetails(20111111111);//Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-
Debemos utilizar el metodo getTaxIDByDocument pasando como parámetro el DNI del contribuyente. Nos devolverá el CUIT o null en caso de no existir en el padrón
const taxID =await afip.registerScopeTThirteenService.getTaxIDByDocument(
- 11111111
-);//Devuelve el CUIT correspondiente al DNI 11111111
-
const serverStatus =await afip.registerScopeTThirteenService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-
Debemos utilizar el metodo getTaxpayerDetails pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o null en caso de no existir en el padrón
const taxpayerDetails =await afip.registerScopeFourService.getTaxpayerDetails(
- 20111111111
-);//Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-
const serverStatus =await afip.registerScopeFourService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-
Debemos utilizar el metodo getTaxpayerDetails pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o null en caso de no existir en el padrón
const taxpayerDetails =await afip.registerScopeFiveService.getTaxpayerDetails(
- 20111111111
-);//Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-
Debemos utilizar el método getTaxpayersDetails pasando como parámetro un array con los documentos identificadores de los contribuyentes. Nos devolverá un array con los detalles de cada contribuyente.
const taxpayersDetails =
- await afip.registerScopeFiveService.getTaxpayersDetails([
- 20111111111,20111111112,
- ]);//Devuelve los datos de los contribuyentes correspondientes a los identificadores 20111111111y 20111111112
-
const serverStatus =await afip.registerScopeFiveService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-
Debemos utilizar el método getLastVoucher con los parámetros punto de venta y tipo de comprobante que queremos consultar.
const lastVoucher =await afip.electronicBillingService.getLastVoucher(1,6);//Devuelve el número del último comprobante creado para el punto de venta 1 y el tipo de comprobante 6 (Factura B)
-
Debemos utilizar el método createVoucher pasándole como parámetro un Objeto con los detalles del comprobante y si queremos tener la respuesta completa enviada por el WS debemos pasarle como segundo parámetro true, en caso de no enviarle el segundo parámetro nos devolverá como respuesta { CAE : CAE asignado el comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd) }.
const date =newDate(Date.now()-newDate().getTimezoneOffset()*60000)
- .toISOString()
- .split("T")[0];
-
-let data ={
- CantReg:1,// Cantidad de comprobantes a registrar
- PtoVta:1,// Punto de venta
- CbteTipo:6,// Tipo de comprobante (ver tipos disponibles)
- Concepto:1,// Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
- DocTipo:99,// Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
- DocNro:0,// Número de documento del comprador (0 consumidor final)
- CbteDesde:1,// Número de comprobante o numero del primer comprobante en caso de ser mas de uno
- CbteHasta:1,// Número de comprobante o numero del último comprobante en caso de ser mas de uno
- CbteFch:parseInt(date.replace(/-/g,"")),// (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
- ImpTotal:121,// Importe total del comprobante
- ImpTotConc:0,// Importe neto no gravado
- ImpNeto:100,// Importe neto gravado
- ImpOpEx:0,// Importe exento de IVA
- ImpIVA:21,//Importe total de IVA
- ImpTrib:0,//Importe total de tributos
- MonId:"PES",//Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
- MonCotiz:1,// Cotización de la moneda usada (1 para pesos argentinos)
- Iva:[
- // (Opcional) Alícuotas asociadas al comprobante
- {
- Id:5,// Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
- BaseImp:100,// Base imponible
- Importe:21,// Importe
- },
- ],
-};
-
-const res =await afip.electronicBillingService.createVoucher(data);
-
Este método acepta mas parámetros, pueden ver todos los parámetros disponibles Aqui(opens new window)
Debemos utilizar el método createNextVoucher pasándole como parámetro un Objeto con los detalles del comprobante al igual que el método createVoucher, nos devolverá como respuesta { CAE : CAE asignado al comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd), voucher_number : Número asignado al comprobante }.
const res =await afip.electronicBillingService.createNextVoucher(data);
-
Con este método podemos obtener toda la información relacionada a un comprobante o simplemente saber si el comprobante existe, debemos ejecutar el método getVoucherInfo pasándole como parámetros el número de comprobante, el punto de venta y el tipo de comprobante, nos devolverá un Objeto con toda la información del comprobante o null si el comprobante no existe.
const voucherInfo =await afip.electronicBillingService.getVoucherInfo(1,1,6);//Devuelve la información del comprobante 1 para el punto de venta 1 y el tipo de comprobante 6 (Factura B)
-
-if(voucherInfo ===null){
- console.log("El comprobante no existe");
-}else{
- console.log("Esta es la información del comprobante:");
- console.log(voucherInfo);
-}
-
const serverStatus =await afip.electronicBillingService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-
Para poder comunicarse con los Web Services de AFIP se debe autenticar con su servicio de WSAA(opens new window) el cual retorna los tokens necesarios con una validez de hasta 12 horas.
-Este servicio de autenticacion solo puede ser llamado cada 2 minutos en los servidores de produccion y hasta 10 minutos en los servidores de homologiacion.
Para esto otros paquetes internamente generan archivos donde guardan estos tokens de manera local en el servidor usando el file sistem de Node (require('fs')). Esto es un problema cuando se ejecuta sobre funciones serverless como las Lambdas de AWS.
Este paquete permite manejar los tickets de acceso (TA que devuelve con los tokens AFIP) de manera personals si se desea, permitiendo tomar datos y guardarlos donde les sea mas conveniente, como en una BD, un S3, o algun storage provider.
Aun asi, si no se quiere manejar personalmente y que se guarden en el servidor, pueden no especificar nada en el contexto de la clase Afip al momento de instanciarlo y este guardara JSONs con los tokens dentro de la carpeta del paquete (Por default root/src/auth/tickets, aunque se puede cambiar desde el constructor).
La clase Afip recibe como parametro un objecto de tipo Context el cual provee de los datos basicos necesarios para el uso de los Web Services de Afip, como tambien de como debe comportarse:
const instance =newAfip(Context);
-
Context:
-
production (boolean): Flag que permite indicar si se usara los servicios de produccion o de homologacion (Testing).
cert *(string): Contenido del certificado (.crt).
key *(string): Contenido de la llave privada.
cuit *(number): Cuit del usuario a usar.
credentials (WSAuthTokens): Objeto de tipo WSAuthTokens (Ver(opens new window)). Aca es donde se asigna los tokens de autenticacion si es que tiene alguno guardado.
handleTicket (boolean): Flag que indica si los tickets de autenticacion son manejados localmente automaticamente por el package o van a ser dados por el desarrollador (Mas adelante se indicara como hacer log in y luego pasar los tokens antes de una llamada al Web Service deseado). Esto es util cuando se desea usar el package sobre una lambda, ya que en estas no podremos guardar localemnte los tokens.
ticketPath (string): Ruta preferencial donde se desea guardaran los tokens obtenidos desde el servicio WSAA si no se desea la carpeta default.
-Context Type code:
-
typeContext={
- /**
- * Flag for production or testing environment
- *
- * @var boolean
- **/
- production?:boolean;
-
- /**
- * Content file for the X.509 certificate in PEM format
- *
- * @var string
- **/
- cert:string;
-
- /**
- * Content file for the private key correspoding to CERT (PEM)
- *
- * @var string
- **/
- key:string;
-
- /**
- * The CUIT to use
- *
- * @var int
- **/
- cuit:number;
-
- /**
- * Tokens object if you have one created before
- *
- * @var credentials
- **/
- credentials?: WSAuthTokens;
-
- /**
- * Flag that if is true, the access tickets data is handled by the developer, otherwise is saved locally.
- */
- handleTicket?:boolean;
-
- /**
- * The path of the auth obj if the package is auto managed
- */
- ticketPath?:string;
-};
-
Si deseas aportar y queres integrar un nuevo servicio, puedes hacer fork del repositorio y generar un PR con los cambios para que los evaluemos y los sumemos!
Se debe tener los certificados emitidos por AFIP, ya sean para los servidores de homologacion o produccion. Estos seran requeridos por la instancia de Afip para la autenticacion a travez del servicio WSAA.
Manejo personalizado de tokens de acceso para ser utilizado en aplicaciones serverless.
Facil y simple
Simple de usar y configurar.
-
-
-
diff --git a/docs-old/.vuepress/enhanceApp.js b/docs-old/.vuepress/enhanceApp.js
deleted file mode 100755
index 8452a86..0000000
--- a/docs-old/.vuepress/enhanceApp.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Client app enhancement file.
- *
- * https://v1.vuepress.vuejs.org/guide/basic-config.html#app-level-enhancements
- */
-
-export default ({
- Vue, // the version of Vue being used in the VuePress app
- options, // the options for the root Vue instance
- router, // the router instance for the app
- siteData // site metadata
-}) => {
- // ...apply enhancements for the site.
-}
diff --git a/docs-old/.vuepress/styles/index.styl b/docs-old/.vuepress/styles/index.styl
deleted file mode 100755
index 420feb9..0000000
--- a/docs-old/.vuepress/styles/index.styl
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * Custom Styles here.
- *
- * ref:https://v1.vuepress.vuejs.org/config/#index-styl
- */
-
-.home .hero img
- max-width 450px!important
diff --git a/docs-old/.vuepress/styles/palette.styl b/docs-old/.vuepress/styles/palette.styl
deleted file mode 100755
index 6490cb3..0000000
--- a/docs-old/.vuepress/styles/palette.styl
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Custom palette here.
- *
- * ref:https://v1.vuepress.vuejs.org/zh/config/#palette-styl
- */
-
-$accentColor = #3eaf7c
-$textColor = #2c3e50
-$borderColor = #eaecef
-$codeBgColor = #282c34
diff --git a/docs-old/README.md b/docs-old/README.md
deleted file mode 100755
index fdedc10..0000000
--- a/docs-old/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-home: true
-heroImage: https://user-images.githubusercontent.com/19806540/198080937-468e851b-2ae4-40a7-b2c5-cb929ff7749a.png
-tagline: SDK para Web Services de Afip
-actionText: Start →
-actionLink: /guide/
-features:
- - title: Typescript First
- details: Escrito desde el comienzo en typescript.
- - title: Serverless Support
- details: Manejo personalizado de tokens de acceso para ser utilizado en aplicaciones serverless.
- - title: Facil y simple
- details: Simple de usar y configurar.
-footer: Made by Rodrigo Alcorta with ❤️
----
diff --git a/docs-old/contributions/README.md b/docs-old/contributions/README.md
deleted file mode 100644
index 9e47adf..0000000
--- a/docs-old/contributions/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Contribuciones
-
-### Commit
-
-Usamos ["semantic release library"](https://www.npmjs.com/package/semantic-release) (https://www.npmjs.com/package/semantic-release) para generar nuestras nuevas versiones, tags y changelogs. Para esto necesitamos specificar un mensaje en los commits con un formato que permita determinar que version es aumentada, y tambien ayudar a mejorar el CHANGELOG.md
-
-| Commit message | Release type |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------- |
-| `fix(pencil): stop graphite breaking when too much pressure applied` | Patch Release |
-| `feat(pencil): add 'graphiteWidth' option` | ~~Minor~~ Feature Release |
-| `perf(pencil): remove graphiteWidth option`
`BREAKING CHANGE: The graphiteWidth option has been removed.` `The default graphite width of 10mm is always used for performance reasons.` | ~~Major~~ Breaking Release |
diff --git a/docs-old/en/README.md b/docs-old/en/README.md
deleted file mode 100755
index 2cf9d7a..0000000
--- a/docs-old/en/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-home: true
-footer: Made by Rodrigo Alcorta with ❤️
----
-
-## Translation
-
-- Status: `Comming soon...`
diff --git a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-10.md b/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-10.md
deleted file mode 100644
index f614cca..0000000
--- a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-10.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Padrón de AFIP alcance 10
-
-Los métodos de este Web Service se encuentran disponibles en `afip.registerScopeTenService`
-
-La especificación de este Web Service se encuentra disponible en http://www.afip.gob.ar/ws/ws_sr_padron_a10/manual_ws_sr_padron_a10_v1.1.pdf
-
-### Métodos disponibles
-
-1. [Obtener datos del contribuyente _(getPersona)_](#obtener-datos-del-contribuyente)
-2. [Obtener estado del servidor](#obtener-estado-del-servidor)
-
-## Obtener datos del contribuyente
-
-Debemos utilizar el metodo `getTaxpayerDetails` pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o `null` en caso de no existir en el padrón
-
-```js
-const taxpayerDetails = await afip.registerScopeTenService.getTaxpayerDetails(
- 20111111111
-); //Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-```
-
-Para mas información acerca de este método ver el item 3.2 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws_sr_padron_a10/manual_ws_sr_padron_a10_v1.1.pdf)
-
-## Obtener estado del servidor
-
-Para esto utilizaremos el método `getServerStatus`
-
-```js
-const serverStatus = await afip.registerScopeTenService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-```
-
-Para mas información acerca de este método ver el item 3.1 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws_sr_padron_a10/manual_ws_sr_padron_a10_v1.1.pdf)
diff --git a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-13.md b/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-13.md
deleted file mode 100644
index 0ff6bb3..0000000
--- a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-13.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Padrón de AFIP alcance 13
-
-Los métodos de este Web Service se encuentran disponibles en `afip.registerScopeTThirteenService`
-
-La especificación de este Web Service se encuentra disponible en http://www.afip.gob.ar/ws/ws-padron-a13/manual-ws-sr-padron-a13-v1.2.pdf
-
-### Métodos disponibles
-
-1. [Obtener datos del contribuyente _(getPersona)_](#obtener-datos-del-contribuyente)
-2. [Obtener CUIT a partir de un DNI](#obtener-cuit-a-partir-de-un-dni)
-3. [Obtener estado del servidor](#obtener-estado-del-servidor)
-
-## Obtener datos del contribuyente
-
-Debemos utilizar el metodo `getTaxpayerDetails` pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o `null` en caso de no existir en el padrón
-
-```js
-const taxpayerDetails =
- await afip.registerScopeTThirteenService.getTaxpayerDetails(20111111111); //Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-```
-
-Para mas información acerca de este método ver el item 3.2 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws-padron-a13/manual-ws-sr-padron-a13-v1.2.pdf)
-
-## Obtener CUIT a partir de un DNI
-
-Debemos utilizar el metodo `getTaxIDByDocument` pasando como parámetro el DNI del contribuyente. Nos devolverá el CUIT o `null` en caso de no existir en el padrón
-
-```js
-const taxID = await afip.registerScopeTThirteenService.getTaxIDByDocument(
- 11111111
-); //Devuelve el CUIT correspondiente al DNI 11111111
-```
-
-## Obtener estado del servidor
-
-Para esto utilizaremos el método `getServerStatus`
-
-```js
-const serverStatus = await afip.registerScopeTThirteenService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-```
-
-Para mas información acerca de este método ver el item 3.1 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws-padron-a13/manual-ws-sr-padron-a13-v1.2.pdf)
diff --git a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-4.md b/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-4.md
deleted file mode 100644
index b40bc48..0000000
--- a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-4.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Padrón de AFIP alcance 4
-
-Los métodos de este Web Service se encuentran disponibles en `afip.registerScopeFourService`
-
-La especificación de este Web Service se encuentra disponible en http://www.afip.gob.ar/ws/ws_sr_padron_a4/manual_ws_sr_padron_a4_v1.1.pdf
-
-### Métodos disponibles
-
-1. [Obtener datos del contribuyente _(getPersona)_](#obtener-datos-del-contribuyente)
-2. [Obtener estado del servidor](#obtener-estado-del-servidor)
-
-## Obtener datos del contribuyente
-
-Debemos utilizar el metodo `getTaxpayerDetails` pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o `null` en caso de no existir en el padrón
-
-```js
-const taxpayerDetails = await afip.registerScopeFourService.getTaxpayerDetails(
- 20111111111
-); //Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-```
-
-Para mas información acerca de este método ver el item 3.2 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws_sr_padron_a4/manual_ws_sr_padron_a4_v1.1.pdf)
-
-## Obtener estado del servidor
-
-Para esto utilizaremos el método `getServerStatus`
-
-```js
-const serverStatus = await afip.registerScopeFourService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-```
-
-Para mas información acerca de este método ver el item 3.1 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws_sr_padron_a4/manual_ws_sr_padron_a4_v1.1.pdf)
diff --git a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-5.md b/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-5.md
deleted file mode 100644
index 2af246e..0000000
--- a/docs-old/guide/Consulta-al-padron-de-AFIP-alcance-5.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Padrón de AFIP alcance 5
-
-Los métodos de este Web Service se encuentran disponibles en `afip.registerScopeFiveService`
-
-La especificación de este Web Service se encuentra disponible en http://www.afip.gob.ar/ws/ws_sr_padron_a5/manual_ws_sr_padron_a5_v1.0.pdf
-
-### Métodos disponibles
-
-1. [Obtener datos del contribuyente _(getPersona)_](#obtener-datos-del-contribuyente)
-2. [Obtener datos de múltiples contribuyentes](#obtener-datos-de-múltiples-contribuyentes)
-3. [Obtener estado del servidor](#obtener-estado-del-servidor)
-
-## Obtener datos del contribuyente
-
-Debemos utilizar el metodo `getTaxpayerDetails` pasando como parámetro el documento identificador del contribuyente, por ej. el CUIT. Nos devolvera un objeto con los detalles o `null` en caso de no existir en el padrón
-
-```js
-const taxpayerDetails = await afip.registerScopeFiveService.getTaxpayerDetails(
- 20111111111
-); //Devuelve los datos del contribuyente correspondiente al identificador 20111111111
-```
-
-Para mas información acerca de este método ver el item 3.2 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws_sr_padron_a5/manual_ws_sr_padron_a5_v1.0.pdf)
-
-## Obtener datos de múltiples contribuyentes
-
-Debemos utilizar el método `getTaxpayersDetails` pasando como parámetro un array con los documentos identificadores de los contribuyentes. Nos devolverá un array con los detalles de cada contribuyente.
-
-```js
-const taxpayersDetails =
- await afip.registerScopeFiveService.getTaxpayersDetails([
- 20111111111, 20111111112,
- ]); //Devuelve los datos de los contribuyentes correspondientes a los identificadores 20111111111y 20111111112
-```
-
-## Obtener estado del servidor
-
-Para esto utilizaremos el método `getServerStatus`
-
-```js
-const serverStatus = await afip.registerScopeFiveService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-```
-
-Para mas información acerca de este método ver el item 3.1 de la [especificación del Web service](http://www.afip.gob.ar/ws/ws_sr_padron_a5/manual_ws_sr_padron_a5_v1.0.pdf)
diff --git "a/docs-old/guide/Facturaci\303\263n-Electr\303\263nica.md" "b/docs-old/guide/Facturaci\303\263n-Electr\303\263nica.md"
deleted file mode 100755
index 1b18595..0000000
--- "a/docs-old/guide/Facturaci\303\263n-Electr\303\263nica.md"
+++ /dev/null
@@ -1,184 +0,0 @@
-# Facturación Electrónica
-
-Los métodos de este Web Service se encuentran disponibles en `afip.electronicBillingService`
-
-La especificación de este Web Service se encuentra disponible [aquí](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-
-
-
-`Nota:`
-Hablaremos de `comprobante` indistintamente si es una `factura`, nota de crédito, etc
-
-## Indice
-
-- [Facturación Electrónica](#facturación-electrónica)
- - [Indice](#indice)
- - [Obtener número del último comprobante creado](#obtener-número-del-último-comprobante-creado)
- - [Crear y asignar CAE a un comprobante](#crear-y-asignar-cae-a-un-comprobante)
- - [Crear y asignar CAE a siguiente comprobante](#crear-y-asignar-cae-a-siguiente-comprobante)
- - [Obtener información de un comprobante](#obtener-información-de-un-comprobante)
- - [Obtener puntos de venta disponibles](#obtener-puntos-de-venta-disponibles)
- - [Obtener tipos de comprobantes disponibles](#obtener-tipos-de-comprobantes-disponibles)
- - [Obtener tipos de conceptos disponibles](#obtener-tipos-de-conceptos-disponibles)
- - [Obtener tipos de documentos disponibles](#obtener-tipos-de-documentos-disponibles)
- - [Obtener tipos de alícuotas disponibles](#obtener-tipos-de-alícuotas-disponibles)
- - [Obtener tipos de monedas disponibles](#obtener-tipos-de-monedas-disponibles)
- - [Obtener tipos de opciones disponibles para el comprobante](#obtener-tipos-de-opciones-disponibles-para-el-comprobante)
- - [Obtener tipos de tributos disponibles](#obtener-tipos-de-tributos-disponibles)
- - [Obtener estado del servidor](#obtener-estado-del-servidor)
-
----
-
-## Obtener número del último comprobante creado
-
-Debemos utilizar el método `getLastVoucher` con los parámetros punto de venta y tipo de comprobante que queremos consultar.
-
-```js
-const lastVoucher = await afip.electronicBillingService.getLastVoucher(1, 6); //Devuelve el número del último comprobante creado para el punto de venta 1 y el tipo de comprobante 6 (Factura B)
-```
-
-Para mas información acerca de este método ver el item 4.15 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Crear y asignar CAE a un comprobante
-
-Debemos utilizar el método `createVoucher` pasándole como parámetro un Objeto con los detalles del comprobante y si queremos tener la respuesta completa enviada por el WS debemos pasarle como segundo parámetro `true`, en caso de no enviarle el segundo parámetro nos devolverá como respuesta `{ CAE : CAE asignado el comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd) }`.
-
-```js
-const date = new Date(Date.now() - new Date().getTimezoneOffset() * 60000)
- .toISOString()
- .split("T")[0];
-
-let data = {
- CantReg: 1, // Cantidad de comprobantes a registrar
- PtoVta: 1, // Punto de venta
- CbteTipo: 6, // Tipo de comprobante (ver tipos disponibles)
- Concepto: 1, // Concepto del Comprobante: (1)Productos, (2)Servicios, (3)Productos y Servicios
- DocTipo: 99, // Tipo de documento del comprador (99 consumidor final, ver tipos disponibles)
- DocNro: 0, // Número de documento del comprador (0 consumidor final)
- CbteDesde: 1, // Número de comprobante o numero del primer comprobante en caso de ser mas de uno
- CbteHasta: 1, // Número de comprobante o numero del último comprobante en caso de ser mas de uno
- CbteFch: parseInt(date.replace(/-/g, "")), // (Opcional) Fecha del comprobante (yyyymmdd) o fecha actual si es nulo
- ImpTotal: 121, // Importe total del comprobante
- ImpTotConc: 0, // Importe neto no gravado
- ImpNeto: 100, // Importe neto gravado
- ImpOpEx: 0, // Importe exento de IVA
- ImpIVA: 21, //Importe total de IVA
- ImpTrib: 0, //Importe total de tributos
- MonId: "PES", //Tipo de moneda usada en el comprobante (ver tipos disponibles)('PES' para pesos argentinos)
- MonCotiz: 1, // Cotización de la moneda usada (1 para pesos argentinos)
- Iva: [
- // (Opcional) Alícuotas asociadas al comprobante
- {
- Id: 5, // Id del tipo de IVA (5 para 21%)(ver tipos disponibles)
- BaseImp: 100, // Base imponible
- Importe: 21, // Importe
- },
- ],
-};
-
-const res = await afip.electronicBillingService.createVoucher(data);
-```
-
-Este método acepta mas parámetros, pueden ver todos los parámetros disponibles [Aqui](https://github.com/valiulab/afip.ts/blob/main/src/interfaces/index.ts#L5)
-
-Para mas información acerca de este método ver el item 4.1 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Crear y asignar CAE a siguiente comprobante
-
-Debemos utilizar el método `createNextVoucher` pasándole como parámetro un Objeto con los detalles del comprobante al igual que el método `createVoucher`, nos devolverá como respuesta `{ CAE : CAE asignado al comprobante, CAEFchVto : Fecha de vencimiento del CAE (yyyy-mm-dd), voucher_number : Número asignado al comprobante }`.
-
-```js
-const res = await afip.electronicBillingService.createNextVoucher(data);
-```
-
-## Obtener información de un comprobante
-
-Con este método podemos obtener toda la información relacionada a un comprobante o simplemente saber si el comprobante existe, debemos ejecutar el método `getVoucherInfo` pasándole como parámetros el número de comprobante, el punto de venta y el tipo de comprobante, nos devolverá un Objeto con toda la información del comprobante o `null` si el comprobante no existe.
-
-```js
-const voucherInfo = await afip.electronicBillingService.getVoucherInfo(1, 1, 6); //Devuelve la información del comprobante 1 para el punto de venta 1 y el tipo de comprobante 6 (Factura B)
-
-if (voucherInfo === null) {
- console.log("El comprobante no existe");
-} else {
- console.log("Esta es la información del comprobante:");
- console.log(voucherInfo);
-}
-```
-
-Para mas información acerca de este método ver el item 4.19 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener puntos de venta disponibles
-
-```js
-const salesPoints = await afip.electronicBillingService.getSalesPoints();
-```
-
-## Obtener tipos de comprobantes disponibles
-
-```js
-const voucherTypes = await afip.electronicBillingService.getVoucherTypes();
-```
-
-Para mas información acerca de este método ver el item 4.4 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener tipos de conceptos disponibles
-
-```js
-const conceptTypes = await afip.electronicBillingService.getConceptTypes();
-```
-
-Para mas información acerca de este método ver el item 4.5 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener tipos de documentos disponibles
-
-```js
-const documentTypes = await afip.electronicBillingService.getDocumentTypes();
-```
-
-Para mas información acerca de este método ver el item 4.6 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener tipos de alícuotas disponibles
-
-```js
-const aloquotTypes = await afip.electronicBillingService.getAliquotTypes();
-```
-
-Para mas información acerca de este método ver el item 4.7 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener tipos de monedas disponibles
-
-```js
-const currenciesTypes =
- await afip.electronicBillingService.getCurrenciesTypes();
-```
-
-Para mas información acerca de este método ver el item 4.8 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener tipos de opciones disponibles para el comprobante
-
-```js
-const optionTypes = await afip.electronicBillingService.getOptionsTypes();
-```
-
-Para mas información acerca de este método ver el item 4.9 de la [especificacion del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener tipos de tributos disponibles
-
-```js
-const taxTypes = await afip.electronicBillingService.getTaxTypes();
-```
-
-Para mas información acerca de este método ver el item 4.10 de la [especificación del Web service](http://www.afip.gob.ar/fe/documentos/manual_desarrollador_COMPG_v2_10.pdf)
-
-## Obtener estado del servidor
-
-Para esto utilizaremos el método `getServerStatus`
-
-```js
-const serverStatus = await afip.electronicBillingService.getServerStatus();
-
-console.log("Este es el estado del servidor:");
-console.log(serverStatus);
-```
diff --git a/docs-old/guide/README.md b/docs-old/guide/README.md
deleted file mode 100755
index 5a3700c..0000000
--- a/docs-old/guide/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# Introduction
-
-## Servicios disponibles
-
-Actualmente la SDK soporta los siguientes servicios de afip:
-
-- Web Serices - [Doc](https://www.afip.gob.ar/ws/documentacion/catalogo.asp)
- - Autenticación - [Doc](https://www.afip.gob.ar/ws/WSAA/WSAAmanualDev.pdf)
- - Factura electronica - [Doc](https://www.afip.gob.ar/fe/ayuda//documentos/Manual-desarrollador-V.2.21.pdf)
- - Padron alcance 4 - [Doc](https://www.afip.gob.ar/ws/ws_sr_padron_a4/manual_ws_sr_padron_a4_v1.2.pdf)
- - Padron alcance 5 - [Doc](https://www.afip.gob.ar/ws/ws_sr_padron_a5/manual_ws_sr_padron_a5_v1.0.pdf)
- - Padron alcance 10 - [Doc](https://www.afip.gob.ar/ws/ws_sr_padron_a10/manual_ws_sr_padron_a10_v1.1.pdf)
- - Padron alcance 13 - [Doc](https://www.afip.gob.ar/ws/ws-padron-a13/manual-ws-sr-padron-a13-v1.2.pdf)
-
-Si deseas aportar y queres integrar un nuevo servicio, puedes hacer fork del repositorio y generar un PR con los cambios para que los evaluemos y los sumemos!
-
-## Intalación
-
-##### NPM
-
-```sh
-npm i afip.ts --save
-```
-
-##### Yarn
-
-```sh
-yarn add afip.ts
-```
-
-### Requisitos previos
-
-Se debe tener los certificados emitidos por AFIP, ya sean para los servidores de homologacion o produccion. Estos seran requeridos por la instancia de Afip para la autenticacion a travez del servicio WSAA.
diff --git a/docs-old/guide/basic-use.md b/docs-old/guide/basic-use.md
deleted file mode 100755
index e7b4d25..0000000
--- a/docs-old/guide/basic-use.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Uso Básico
-
-### Ejemplo basico:
-
-Para usar la SDK debemos instanciar la clase `Afip` con los siguientes minimos datos:
-
-- [`key`](https://www.afip.gob.ar/ws/documentacion/certificados.asp) : Contenido de la clave privada generada para Afip
-- [`cert`](https://www.afip.gob.ar/ws/documentacion/certificados.asp) : Contenido del certificado generado en Afip
-- `cuit` : Cuit del usuario
-
-Esto data como resultado un objecto con los respectivos servicios disponibles para usar, como por ejemplo `electronicBillingService`:
-
-```ts
-import { Afip } from "afip.ts";
-
-const afip: Afip = new Afip({
- key: "private_key_content",
- cert: "crt_content",
- cuit: 20111111112,
-});
-
-const voucher = await afip.electronicBillingService.createInvoice({
- // voucher data
-});
-```
-
-
-
-La clase Afip recibe como parametro en el constructor el contexto (Ver type). Ahi esta explicado todos los comportamientos que puede tomar afip.
diff --git a/docs-old/guide/behaviour.md b/docs-old/guide/behaviour.md
deleted file mode 100755
index b29556a..0000000
--- a/docs-old/guide/behaviour.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Comportamiento
-
-Para poder comunicarse con los Web Services de AFIP se debe autenticar con su servicio de [WSAA](https://www.afip.gob.ar/ws/WSAA/WSAAmanualDev.pdf) el cual retorna los tokens necesarios con una validez de hasta 12 horas.
-Este servicio de autenticacion solo puede ser llamado cada 2 minutos en los servidores de produccion y hasta 10 minutos en los servidores de homologiacion.
-
-Para esto otros paquetes internamente generan archivos donde guardan estos tokens de manera local en el servidor usando el file sistem de Node (require('fs')). Esto es un problema cuando se ejecuta sobre funciones serverless como las Lambdas de AWS.
-
-Este paquete permite manejar los tickets de acceso (TA que devuelve con los tokens AFIP) de manera personals si se desea, permitiendo tomar datos y guardarlos donde les sea mas conveniente, como en una BD, un S3, o algun storage provider.
-
-Aun asi, si no se quiere manejar personalmente y que se guarden en el servidor, pueden no especificar nada en el contexto de la clase Afip al momento de instanciarlo y este guardara JSONs con los tokens dentro de la carpeta del paquete (Por default root/src/auth/tickets, aunque se puede cambiar desde el constructor).
diff --git a/docs-old/guide/config.md b/docs-old/guide/config.md
deleted file mode 100755
index 7c6149d..0000000
--- a/docs-old/guide/config.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# Contexto
-
-### Afip Context:
-
-La clase `Afip` recibe como parametro un objecto de tipo `Context` el cual provee de los datos basicos necesarios para el uso de los Web Services de Afip, como tambien de como debe comportarse:
-
-```ts
-const instance = new Afip(Context);
-```
-
-- `Context`:
- - `production` (boolean): Flag que permite indicar si se usara los servicios de produccion o de homologacion (Testing).
- - `cert` \*(string): Contenido del certificado `(.crt)`.
- - `key` \*(string): Contenido de la llave privada.
- - `cuit` \*(number): Cuit del usuario a usar.
- - `credentials` (WSAuthTokens): Objeto de tipo WSAuthTokens ([Ver](https://github.com/valiulab/afip.ts/blob/main/src/auth/types.ts#L5)). Aca es donde se asigna los tokens de autenticacion si es que tiene alguno guardado.
- - `handleTicket` (boolean): Flag que indica si los tickets de autenticacion son manejados localmente automaticamente por el package o van a ser dados por el desarrollador (Mas adelante se indicara como hacer log in y luego pasar los tokens antes de una llamada al Web Service deseado). Esto es util cuando se desea usar el package sobre una `lambda`, ya que en estas no podremos guardar localemnte los tokens.
- - `ticketPath` (string): Ruta preferencial donde se desea guardaran los tokens obtenidos desde el servicio WSAA si no se desea la carpeta default.
-
-
-Context Type code:
-
-```ts
-type Context = {
- /**
- * Flag for production or testing environment
- *
- * @var boolean
- **/
- production?: boolean;
-
- /**
- * Content file for the X.509 certificate in PEM format
- *
- * @var string
- **/
- cert: string;
-
- /**
- * Content file for the private key correspoding to CERT (PEM)
- *
- * @var string
- **/
- key: string;
-
- /**
- * The CUIT to use
- *
- * @var int
- **/
- cuit: number;
-
- /**
- * Tokens object if you have one created before
- *
- * @var credentials
- **/
- credentials?: WSAuthTokens;
-
- /**
- * Flag that if is true, the access tickets data is handled by the developer, otherwise is saved locally.
- */
- handleTicket?: boolean;
-
- /**
- * The path of the auth obj if the package is auto managed
- */
- ticketPath?: string;
-};
-```
-
-