Commit 698498ac5fdfc0fd238c2ee6fdcee117b66576af

Authored by Eric Fernandez
Exists in master

Merge branch 'master' into 'master'

Master(efernandez)

See merge request !2
... ... @@ -2,7 +2,7 @@ const webSocketServer = require('ws').Server;
2 2 const fs = require('fs');
3 3 const config = require('./config/config.json');
4 4  
5   -const planex = require('./planex/index')();
  5 +const planex = require('./planex/index')('');
6 6  
7 7 console.log(planex);
8 8  
planex/descuentosGlobalesFactura.js
... ... @@ -0,0 +1,12 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comrpobanteArr = comprobante.split(';');
  4 +
  5 + return {
  6 + descripcionDescuentoOIntereses: comrpobanteArr[1],
  7 + porcentaje: comrpobanteArr[2],
  8 + importeBase: comrpobanteArr[3],
  9 + importe: comrpobanteArr[4],
  10 + ClasificadorDescuentoOInteres: comrpobanteArr[5]
  11 + };
  12 +}
planex/detalleDescuentosItemFactura.js
... ... @@ -0,0 +1,12 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comprobanteArr = comprobante.split(';');
  4 +
  5 + return {
  6 + numeroLinea: comprobanteArr[1],
  7 + descripcionDescuento: comprobanteArr[2],
  8 + porcentajeDescuento: comprobanteArr[3],
  9 + importeBase: comprobanteArr[4],
  10 + importeDescuento: comprobanteArr[5],
  11 + };
  12 +}
planex/detalleImpuestosItemFactura.js
... ... @@ -0,0 +1,12 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comprobanteArr = comprobante.split(';');
  4 +
  5 + return {
  6 + numeroLinea: comprobanteArr[1],
  7 + descripcionImpuesto: comprobanteArr[2],
  8 + procentajeImpuesto: comprobanteArr[3],
  9 + importeBase: comprobanteArr[4],
  10 + importeImpuesto: comprobanteArr[5]
  11 + };
  12 +}
planex/detalleOtrosImpuestosComprobante.js
... ... @@ -0,0 +1,13 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comprobanteArr = comprobante.split(';');
  4 +
  5 + return {
  6 + descripcionImpuesto: comprobanteArr[1],
  7 + porcentaje: comprobanteArr[2],
  8 + importeBase: comprobanteArr[3],
  9 + importeImpuesto: comprobanteArr[4],
  10 + codigoArancelImpuestoOCuota: comprobanteArr[5],
  11 + jurisdiccion: comprobanteArr[6]
  12 + };
  13 +}
planex/detallePercepcionesIIBB.js
... ... @@ -0,0 +1,18 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '070;01;000000000000411;00;000000000000000;PERC .I.B. BS. A.S;00250;000000000016436;00000;000000000000000 ';
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + codigoJurisdiccionIB: comprobanteArr[1],
  9 + importePercepcionesIB: comprobanteArr[2],
  10 + jurisdiccionImpuestosMunicipales: comprobanteArr[3],
  11 + importePercepcionesImpuestosMunicipales: comprobanteArr[4],
  12 + descripcionPercepcionIB: comprobanteArr[5],
  13 + porcentajePercepcionesIB: comprobanteArr[6],
  14 + importeBasePercepcionesIB: comprobanteArr[7],
  15 + porcentajePercepcionesImpuestosMunicipales: comprobanteArr[8],
  16 + importeBasePercepcionesImpuestosMunicipales: comprobanteArr[9]
  17 + };
  18 +}
planex/detallesImportesIVA.js
... ... @@ -0,0 +1,13 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '060;02100;000000000024349;000000000115946;000000000000000 ';
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + alicuotaIVAAplicable: comprobanteArr[1],
  9 + importeLiquidado: comprobanteArr[2],
  10 + importeNetoGravado: comprobanteArr[3],
  11 + importeLiquidadoRNI: comprobanteArr[4]
  12 + };
  13 +}
planex/identificacionComprobante.js
... ... @@ -1,35 +0,0 @@
1   -module.exports = function(comprobante) {
2   -
3   - var comprobante = '010;01;00081929;00081929;0002;20120927;20120927;;;14 DIAS;;;32012114736927;20140716;;;;;;;;;;;20120927';
4   -
5   - var comprobanteArr = comprobante.split(';');
6   -
7   - return {
8   - tipo: comprobanteArr[1],
9   - numero: comprobanteArr[2],
10   - numeroRegistrado: comprobanteArr[3],
11   - puntoVenta: comprobanteArr[4],
12   - fechaComprobante: comprobanteArr[5],
13   - fechaVencimiento: comprobanteArr[6],
14   - fechaSegundoVencimiento: comprobanteArr[7],
15   - fechaProximoVencimiento: comprobanteArr[8],
16   - condicionPago: comprobanteArr[9],
17   - caeOCaea: comprobanteArr[10],
18   - fechaVencimientoCaeOCaea: comprobanteArr[11],
19   - cai: comprobanteArr[12],
20   - fechaVencimientoCai: comprobanteArr[14],
21   - motivo: comprobanteArr[15],
22   - fechaServicioDesde: comprobanteArr[16],
23   - fechaServicioHasta: comprobanteArr[17],
24   - codigoControladorFiscal: comprobanteArr[17],
25   - codigoOperacion: comprobanteArr[18],
26   - cantidadHojas: comprobanteArr[19],
27   - datosCodigoBarraParaCobranza: comprobanteArr[20],
28   - datosOtroCodigoBarras: comprobanteArr[21],
29   - datosCodigoParaPagoElectronico: comprobanteArr[22],
30   - fechaAnulacion: comprobanteArr[23],
31   - fechaEntrega: comprobanteArr[24],
32   - numeroVisualizador: comprobanteArr[25]
33   - };
34   -
35   -}
planex/identificacionEmisor.js
... ... @@ -1,35 +0,0 @@
1   -module.exports = function(comprobante) {
2   -
3   - comprobante = '030;EMPRESA EMISORA S.A.;7790522012340;01;902-108324-2;19690727;;Maximo M 885;;;;;;;Lanus Oeste;Buenos Aires;1824;;;30123654736;;;;;;'
4   -
5   - comprobanteArr = comprobante.split(';');
6   -
7   - return {
8   - razonSocial: comprobanteArr[1],
9   - glnEmisor: comprobanteArr[2],
10   - ivaEmisor: comprobanteArr[3],
11   - numeroIngresosBrutos: comprobanteArr[4],
12   - inicioActividades: comprobanteArr[5],
13   - contacto: comprobanteArr[6],
14   - direccion: comprobanteArr[7],
15   - numero: comprobanteArr[8],
16   - piso: comprobanteArr[9],
17   - departamento: comprobanteArr[10],
18   - sector: comprobanteArr[11],
19   - torre: comprobanteArr[12],
20   - manzana: comprobanteArr[13],
21   - localidad: comprobante[14],
22   - provincia: comprobanteArr[15],
23   - codigoPostal: comprobanteArr[16],
24   - email: comprobanteArr[17],
25   - telefono: comprobanteArr[18],
26   - cuit: comprobanteArr[19],
27   - codigoAgenciaResponsableListaCodigos: comprobanteArr[20],
28   - numeroEstablecimientoEmisor: comprobanteArr[21],
29   - numeroAgentePercepcionProvincialDelEmisor: comprobanteArr[22],
30   - numeroAgentePercepcionMunicipalDelEmisor: comprobanteArr[23],
31   - numeroFax: comprobanteArr[24],
32   - codigoVendedor: comprobanteArr[25]
33   - };
34   -
35   -}
planex/identificacionMensaje.js
... ... @@ -1,5 +0,0 @@
1   -module.exports = function(comprobante) {
2   -
3   - return '';
4   -
5   -}
planex/identificaxComprobante.js
... ... @@ -0,0 +1,34 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comprobante = '010;01;00081929;00081929;0002;20120927;20120927;;;14 DIAS;;;32012114736927;20140716;;;;;;;;;;;20120927';
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + tipo: comprobanteArr[1],
  9 + numero: comprobanteArr[2],
  10 + numeroRegistrado: comprobanteArr[3],
  11 + puntoVenta: comprobanteArr[4],
  12 + fechaComprobante: comprobanteArr[5],
  13 + fechaVencimiento: comprobanteArr[6],
  14 + fechaSegundoVencimiento: comprobanteArr[7],
  15 + fechaProximoVencimiento: comprobanteArr[8],
  16 + condicionPago: comprobanteArr[9],
  17 + caeOCaea: comprobanteArr[10],
  18 + fechaVencimientoCaeOCaea: comprobanteArr[11],
  19 + cai: comprobanteArr[12],
  20 + fechaVencimientoCai: comprobanteArr[14],
  21 + motivo: comprobanteArr[15],
  22 + fechaServicioDesde: comprobanteArr[16],
  23 + fechaServicioHasta: comprobanteArr[17],
  24 + codigoControladorFiscal: comprobanteArr[17],
  25 + codigoOperacion: comprobanteArr[18],
  26 + cantidadHojas: comprobanteArr[19],
  27 + datosCodigoBarraParaCobranza: comprobanteArr[20],
  28 + datosOtroCodigoBarras: comprobanteArr[21],
  29 + datosCodigoParaPagoElectronico: comprobanteArr[22],
  30 + fechaAnulacion: comprobanteArr[23],
  31 + fechaEntrega: comprobanteArr[24],
  32 + numeroVisualizador: comprobanteArr[25]
  33 + };
  34 +}
planex/identificaxEmisor.js
... ... @@ -0,0 +1,34 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '030;EMPRESA EMISORA S.A.;7790522012340;01;902-108324-2;19690727;;Maximo M 885;;;;;;;Lanus Oeste;Buenos Aires;1824;;;30123654736;;;;;;'
  4 +
  5 + comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + razonSocial: comprobanteArr[1],
  9 + glnEmisor: comprobanteArr[2],
  10 + ivaEmisor: comprobanteArr[3],
  11 + numeroIngresosBrutos: comprobanteArr[4],
  12 + inicioActividades: comprobanteArr[5],
  13 + contacto: comprobanteArr[6],
  14 + direccion: comprobanteArr[7],
  15 + numero: comprobanteArr[8],
  16 + piso: comprobanteArr[9],
  17 + departamento: comprobanteArr[10],
  18 + sector: comprobanteArr[11],
  19 + torre: comprobanteArr[12],
  20 + manzana: comprobanteArr[13],
  21 + localidad: comprobante[14],
  22 + provincia: comprobanteArr[15],
  23 + codigoPostal: comprobanteArr[16],
  24 + email: comprobanteArr[17],
  25 + telefono: comprobanteArr[18],
  26 + cuit: comprobanteArr[19],
  27 + codigoAgenciaResponsableListaCodigos: comprobanteArr[20],
  28 + numeroEstablecimientoEmisor: comprobanteArr[21],
  29 + numeroAgentePercepcionProvincialDelEmisor: comprobanteArr[22],
  30 + numeroAgentePercepcionMunicipalDelEmisor: comprobanteArr[23],
  31 + numeroFax: comprobanteArr[24],
  32 + codigoVendedor: comprobanteArr[25]
  33 + };
  34 +}
planex/identificaxMensaje.js
... ... @@ -0,0 +1,8 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comprobanteArr = comprobante.split(';');
  4 +
  5 + return {
  6 + idMensaje: comprobanteArr[1]
  7 + };
  8 +}
planex/identificaxReceptorFactura.js
... ... @@ -0,0 +1,35 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '040;CADENARECEPTORA;7798032710006;401000;01;;9011890556;;CALLE 401 6TO PISO;;;;;;;Cap. federal;1640;;;80;30123654434;;;;; '
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + razonSocial: comprobanteArr[1],
  9 + glnReceptor: comprobanteArr[2],
  10 + codigoInternoReceptorParaEmisor: comprobanteArr[3],
  11 + ivaReceptor: comprobanteArr[4],
  12 + codigoJurisdiccionIBReceptor: comprobanteArr[5],
  13 + numeroIngresosBrutos: comprobanteArr[6],
  14 + contacto: comprobanteArr[7],
  15 + direccionCalle: comprobanteArr[8],
  16 + direccionNumero: comprobanteArr[9],
  17 + piso: comprobanteArr[10],
  18 + departamento: comprobanteArr[11],
  19 + sector: comprobanteArr[12],
  20 + torre: comprobanteArr[13],
  21 + manzana: comprobanteArr[14],
  22 + localidad: comprobanteArr[15],
  23 + provincia: comprobanteArr[16],
  24 + codigoPostal: comprobanteArr[17],
  25 + email: comprobanteArr[18],
  26 + telefono: comprobanteArr[19],
  27 + tipoDocumentoReceptor: comprobanteArr[20],
  28 + numeroDocumentoReceptor: comprobanteArr[21],
  29 + codigoAgenciaResponsableListaCodigos: comprobanteArr[22],
  30 + codigoDptoOPersonaAQuienVaDirigidoElComp: comprobanteArr[23],
  31 + nombreDptoOPersonaAQuienVaDirigidoElComp: comprobanteArr[24],
  32 + numeroFax: comprobanteArr[25],
  33 + municipio: comprobanteArr[26]
  34 + };
  35 +}
planex/identificaxSucursalReceptorFactura.js
... ... @@ -0,0 +1,36 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '045;SUCURSAL CADENA RECEPTORA;7791236854;;;;;;;;;;;;;;;;;;80;30123610434;;;;;;; ';
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + razonSocial: comprobanteArr[1],
  9 + glnSucursal: comprobanteArr[2],
  10 + codigoInternoSucursalReceptorParaEmisor: comprobanteArr[3],
  11 + ivaSucursal: comprobanteArr[4],
  12 + codigoJurisdiccionIB: comprobanteArr[5],
  13 + numeroIB: comprobanteArr[6],
  14 + contacto: comprobanteArr[7],
  15 + direccion: comprobanteArr[8],
  16 + numero: comprobanteArr[9],
  17 + piso: comprobanteArr[10],
  18 + departamento: comprobanteArr[11],
  19 + sector: comprobanteArr[12],
  20 + torre: comprobanteArr[13],
  21 + manzana: comprobanteArr[14],
  22 + localidad: comprobanteArr[15],
  23 + provincia: comprobanteArr[16],
  24 + codigoPostal: comprobanteArr[17],
  25 + email: comprobanteArr[18],
  26 + telefono: comprobanteArr[19],
  27 + tipoDocumento: comprobanteArr[20],
  28 + numeroDocumento: comprobanteArr[21],
  29 + codigoAgenciaResponsableListaCodigos: comprobanteArr[22],
  30 + codigoDptoOPersonaAQuienVaDirigidoElMsj: comprobanteArr[23],
  31 + nombreDptoOPersonaAQuienVaDirigidoElMsj: comprobanteArr[24],
  32 + numeroFax: comprobanteArr[25],
  33 + municipio: comprobanteArr[26],
  34 + numeroSucursalReceptorParaEmisor: comprobanteArr[27],
  35 + }
  36 +}
planex/importesTotales.js
... ... @@ -0,0 +1,34 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '050;000000000000000;000000000000000;000000000000000;000000000140295;000000000000000;000000000115946;000000 000024349;000000000000000;000000000000000;000000000000000;000000000000000;000000000000000;000000000000000; ;PES;00001000000;1;000000000000000;;; '
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + saldoAnterior: comprobanteArr[1],
  9 + totalBruto: comprobanteArr[2],
  10 + totalNeto: comprobanteArr[3],
  11 + totalOperacion: comprobanteArr[4],
  12 + totalConceptosNoNetoGravado: comprobanteArr[5],
  13 + netoGravado: comprobanteArr[6],
  14 + liquidado: comprobanteArr[7],
  15 + liquidadoRNI: comprobanteArr[8],
  16 + importeOperacionesExentas: comprobanteArr[9],
  17 + importeACtaImpuestosNacionales: comprobanteArr[10],
  18 + importeIB: comprobanteArr[11],
  19 + importeImpuestosMunicipales: comprobanteArr[12],
  20 + importeImpuestosInternos: comprobanteArr[13],
  21 + transporte: comprobanteArr[14],
  22 + monedaFacturacion: comprobanteArr[15],
  23 + tipoCambioFacturacion: comprobanteArr[16],
  24 + cantidadAlicuotasIVA: comprobanteArr[17],
  25 + totalFacturaSegundoVencimiento: comprobanteArr[18],
  26 + observaciones: comprobanteArr[19],
  27 + observacionesDebitoAutomatico: comprobanteArr[20],
  28 + fechaTipoCambioFacturacion: comprobanteArr[21],
  29 + monedaPago: comprobanteArr[22],
  30 + tipoCambioMonedaPago: comprobanteArr[23],
  31 + fechaTipoCambioPago: comprobanteArr[24],
  32 + importeOtrosTributos: comprobanteArr[25]
  33 + };
  34 +}
1 1 module.exports = function(comprobante) {
2 2  
3 3 return {
4   - identificacionComprobante: require('./identificacionComprobante')(comprobante),
5   - identificacionMensaje: require('./identificacionMensaje')(comprobante),
6   - comprobantesReferencia: require('./comprobantesReferencia')(comprobante),
7   - identificacionEmisor: require('./identificacionEmisor')(comprobante),
8   - }
  4 + identificaxComprobante: require('./identificaxComprobante')(comprobante),// 010
  5 + identificaxMensaje: require('./identificaxMensaje')(comprobante),// 012
  6 + comprobantesReferencia: require('./comprobantesReferencia')(comprobante), // 020
  7 + identificaxEmisor: require('./identificaxEmisor')(comprobante), // 030
  8 + informaxRepresentanteEmisor: require('./informaxRepresentanteEmisor')(comprobante), // 035
  9 + identificaxReceptorFactura: require('./identificaxReceptorFactura')(comprobante), // 040
  10 + identificaxSucursalReceptorFactura: require('./identificaxSucursalReceptorFactura')(comprobante), // 045
  11 + importesTotales: require('./importesTotales')(comprobante), // 050
  12 + detallesImportesIVA: require('./detallesImportesIVA')(comprobante), // 060
  13 + detallePercepcionesIIBB: require('./detallePercepcionesIIBB')(comprobante), // 070
  14 + descuentosGlobalesFactura: require('./descuentosGlobalesFactura')(comprobante), // 080
  15 + detalleOtrosImpuestosComprobante: require('./detalleOtrosImpuestosComprobante')(comprobante), // 090
  16 + itemsFactura: require('./itemsFactura')(comprobante), // 100
  17 + detalleDescuentosItemFactura: require('./detalleDescuentosItemFactura')(comprobante), // 110
  18 + detalleImpuestosItemFactura: require('./detalleImpuestosItemFactura')(comprobante), // 120
  19 + };
9 20 }
planex/informaxRepresentanteEmisor.js
... ... @@ -0,0 +1,32 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + var comprobanteArr = comprobante.split(';');
  4 +
  5 + return {
  6 + razonSocial: comprobanteArr[1],
  7 + glnRepresentante: comprobanteArr[2],
  8 + condicionIvaRepresentante: comprobanteArr[3],
  9 + numeroIngresosBrutos: comprobanteArr[4],
  10 + inicioActividades: comprobanteArr[5],
  11 + contacto: comprobanteArr[6],
  12 + direccionCalle: comprobanteArr[7],
  13 + direccionNumero: comprobanteArr[8],
  14 + piso: comprobanteArr[9],
  15 + departamento: comprobanteArr[10],
  16 + sector: comprobanteArr[11],
  17 + torre: comprobanteArr[12],
  18 + manzana: comprobanteArr[13],
  19 + localidad: comprobanteArr[14],
  20 + provincia: comprobanteArr[15],
  21 + codigoPostal: comprobanteArr[16],
  22 + email: comprobanteArr[17],
  23 + telefono: comprobanteArr[18],
  24 + cuit: comprobanteArr[19],
  25 + codigoAgenciaResponsableListaCodigos: comprobanteArr[20],
  26 + numeroEstablecimientoRepresentante: comprobanteArr[21],
  27 + numeroAgentePercepcionProvincialRepresentante: comprobanteArr[22],
  28 + numeroAgentePercepcionMunicipalRepresentante: comprobanteArr[23],
  29 + numeroFax: comprobanteArr[24],
  30 + codigoRepresentante: comprobanteArr[25]
  31 + };
  32 +}
planex/itemsFactura.js
... ... @@ -0,0 +1,34 @@
  1 +module.exports = function(comprobante) {
  2 +
  3 + comprobante = '100;000001;74300;2087455000005;DescripciónArticulo;000000000500000;;000000000035500;02100;0000 00000003452;000000000016437;000000000000000;000000000000000;G; ;000000000000100;000000000000100;CR;CU;000000000032873;7798569874125;; ';
  4 +
  5 + var comprobanteArr = comprobante.split(';');
  6 +
  7 + return {
  8 + numeroLinea: comprobanteArr[1],
  9 + codigoProductoServicio: comprobanteArr[2],
  10 + codigoProductoServicioComprador: comprobanteArr[3],
  11 + descripcion: comprobanteArr[4],
  12 + cantidad: comprobanteArr[5],
  13 + unidadMedida: comprobanteArr[6],
  14 + precioUnitario: comprobanteArr[7],
  15 + alicuotaIVAAplicable: comprobanteArr[8],
  16 + importeIVA: comprobanteArr[9],
  17 + subtotalPorRegistro: comprobanteArr[10],
  18 + importeBonificacion: comprobanteArr[11],
  19 + importeAjuste: comprobanteArr[12],
  20 + indicacionExento: comprobanteArr[13],
  21 + indicacionAnulacion: comprobanteArr[14],
  22 + numeroUnidadesPorUnidadEmbalaje: comprobanteArr[15],
  23 + cantidadEmbalajes: comprobanteArr[16],
  24 + codigoTipoEmbalaje: comprobanteArr[17],
  25 + unidadReferenciaDescripcion: comprobanteArr[18],
  26 + precioUnitarioSinImpuestos: comprobanteArr[19],
  27 + codigoUPCEAN13: comprobanteArr[20],
  28 + codigoDUN14: comprobanteArr[21],
  29 + codigoMercosur: comprobanteArr[22],
  30 + unidadesMatrix: comprobanteArr[23],
  31 + codigoMatrix: comprobanteArr[24],
  32 + precioLista: comprobanteArr[25]
  33 + };
  34 +}