UNPKG

@arquetic/billbo

Version:

Utilities for the national tax billing system of Bolivia

215 lines (188 loc) 5.38 kB
Summary: <h1>Utilities for the national tax billing system of Bolivian country.</h1> <h2>Install:</h2> npm install billbo or npm install @arquetic/billbo or git clone https://github.com/aleftos/billbo <h2>Requirements:</h2> npm install -g typescript and npm install -g ts-node To transpiler: tsc src/TS/examples.ts To run: ts-node src/TS/examples.ts ```javascript import { CUFind, CUFTime } from '../TS/cufind'; let test = new CUFind({ NIT_EMISOR: '123456789', NÚMERO_FACTURA: '1', FECHA_HORA: '20190113163721231' }); console.log('Test: ', test.billData); console.log( 'Test 1 NIT_EMISOR = 123456789, NÚMERO_FACTURA = 1, FECHA_HORA = 20190113163721231 :\n', new CUFind({ NIT_EMISOR: 123456789, NÚMERO_FACTURA: 1, FECHA_HORA: 20190113163721231 }).billData ) console.log( 'Test 2 most common call:\n', new CUFind({ NIT_EMISOR: '123456789', NÚMERO_FACTURA: '1', FECHA_HORA: '20190113163721231' }).billData ) console.log( 'Test 3 FECHA_HORA takes data from module:\n', new CUFind({ NIT_EMISOR: '123456789', NÚMERO_FACTURA: '1', FECHA_HORA: new CUFTime().getCUFTime() // * local time new }).billData ) console.log( 'Test 4 FECHA_HORA is no present:\n', new CUFind( { NIT_EMISOR: '123456789', NÚMERO_FACTURA: '29', // FECHA_HORA: cuf.getCUFTime(), // * FECHA_HORA is no present SUCURSAL: '0', MODALIDAD: '1', TIPO_EMISIÓN: '2', CÓDIGO_DOCUMENTO_FISCAL: '2', TIPO_DOCUMENTO_SECTOR: '6', POS: '0' } ).billData ) console.log( 'Test 5 NIT_EMISOR is number type, FECHA_HORA is no present:\n', new CUFind( { NIT_EMISOR: 123456789, // * number type NÚMERO_FACTURA: '29', // FECHA_HORA: cuf.getCUFTime(), // * FECHA_HORA is no present SUCURSAL: '0', MODALIDAD: '1', TIPO_EMISIÓN: '2', CÓDIGO_DOCUMENTO_FISCAL: '2', TIPO_DOCUMENTO_SECTOR: '6', POS: '0' } ).billData ) console.log( 'Test 6 FECHA_HORA is number type, TIPO_EMISIÓN contains non numeric type:', new CUFind( { NIT_EMISOR: '123456789', NÚMERO_FACTURA: '29', FECHA_HORA: 20190113163721249, SUCURSAL: '0', MODALIDAD: '1', TIPO_EMISIÓN: '2A', // * return ERROR CÓDIGO_DOCUMENTO_FISCAL: '2', TIPO_DOCUMENTO_SECTOR: '6', POS: '0' } ).billData ) console.log('Local time: ', new CUFTime().getCUFTime()); ``` <h3>Output:</h3> ```javascript Test: { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '1', FECHA_HORA: '20190113163721231', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '1', 'CÓDIGO_DOCUMENTO_FISCAL': '1', TIPO_DOCUMENTO_SECTOR: '1', POS: '0', CUF: '159FFE6FB1986A24BB32DBE5A2A34214B245A6A3' } Test 1 NIT_EMISOR = 123456789, NÚMERO_FACTURA = 1, FECHA_HORA = 20190113163721231 : { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '1', FECHA_HORA: '20190113163721230', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '1', 'CÓDIGO_DOCUMENTO_FISCAL': '1', TIPO_DOCUMENTO_SECTOR: '1', POS: '0', CUF: '159FFE6FB1986A24BB32D9C788C2785A0005A6A7' } Test 2 most common call: { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '1', FECHA_HORA: '20190113163721231', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '1', 'CÓDIGO_DOCUMENTO_FISCAL': '1', TIPO_DOCUMENTO_SECTOR: '1', POS: '0', CUF: '159FFE6FB1986A24BB32DBE5A2A34214B245A6A3' } Test 3 FECHA_HORA takes data from module: { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '1', FECHA_HORA: '20190329165622385', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '1', 'CÓDIGO_DOCUMENTO_FISCAL': '1', TIPO_DOCUMENTO_SECTOR: '1', POS: '0', CUF: '159FFE6FB198D4A4010BF368A1018AAD6EC5A6A6' } Test 4 FECHA_HORA is no present: { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '29', FECHA_HORA: '20190329165622388', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '2', 'CÓDIGO_DOCUMENTO_FISCAL': '2', TIPO_DOCUMENTO_SECTOR: '6', POS: '0', CUF: '159FFE6FB198D4A4010BF9C2EECB29C822750024' } Test 5 NIT_EMISOR is number type, FECHA_HORA is no present: { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '29', FECHA_HORA: '20190329165622389', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '2', 'CÓDIGO_DOCUMENTO_FISCAL': '2', TIPO_DOCUMENTO_SECTOR: '6', POS: '0', CUF: '159FFE6FB198D4A4010BFBE108ABF382D4B50020' } Test 6 FECHA_HORA is number type, TIPO_EMISIÓN contains non numeric type: { NIT_EMISOR: '123456789', 'NÚMERO_FACTURA': '29', FECHA_HORA: '20190113163721250', SUCURSAL: '0', MODALIDAD: '1', 'TIPO_EMISIÓN': '2A', 'CÓDIGO_DOCUMENTO_FISCAL': '2', TIPO_DOCUMENTO_SECTOR: '6', POS: '0', CUF: 'ERROR: Malformed arguments to CUF constructor: TIPO_EMISIÓN: 2A' } // Get CUF local time Local time: 20190329165622389 ``` ![TBO](https://raw.githubusercontent.com/aleftos/billbo/master/TBO-icon-logo-128.png) <ul> <li>Coder & programmer: Luis Sanabria</li> <li>Copyright: &copy <a href="http://arquetic.org">Arquetic.org</a> 2019 </li> <li>Date: March, 2019</li> <li>Version: 0.0.13</li> <li>GitHub: https://github.com/aleftos/billbo</li> <li>NPM: https://www.npmjs.com/package/billbo-cuf</li> </ul>