yalla-ya / cat-cfdi-sat
README
CFDI目录json和csv
这是一个获取SAT最新目录的仓库,以不同的JSON和CSV格式提供
处理结果
此过程将处理最新版本的catCFDI文件,然后创建以下文件
csv/.csv - 每个目录的导出,标题与Excel CSV相同.sql.csv - 每个目录的导出,标题已翻译,可用于加载到SQL数据库(不包含重音符号和空格)json/.json - 包含SAT目录中原始名称的对象JSON数组.t.json - 包含无重音符号的字段的对象JSON数组,如SQL导出中所示。
字段翻译/转换
translations.json文件包含每个目录中SAT目录的标题,以及每个字段的翻译/转换名称。
处理CatCFDI
npm install npm run start
对从SAT下载的catCFDI进行的手动调整
某些选项卡中的字段是连接的,在这种情况下,为了避免在代码中详细说明,在运行过程之前需要在之前的文件中进行以下手动更改(以及如果需要这些目录)
c_UsoCFDI, c_TasaOCuota, c_CodigoPostal_Parte_1 & c_CodigoPostal_Parte_2: 第5行和第6行有连接的单元格,取消连接单元格,并确保第5行和第6行的单元格具有相同的字段值。c_TasaOCuota: 如果c_TipoDeComprobante: 在工资和其他行中具有连接的单元格,请重新处理以使其只有一行,单元格分开。
process的高级参数
./process.js --ver={numeric} --in={filepath} --decamelize={boolean} --translate{true|filepath} --sufix={.sql|.t|string}
ver - 版本,包含catCFD的文件夹,其中将生成处理后的目录 format - 需要的格式json或csv - 默认json translate - 如果需要翻译字段,或在这种情况下使用哪个翻译文件 suffix - 为文件设置的后缀
导入到MySQL的高级参数
在导入数据之前,必须在前面的脚本中处理格式为SQL的csv
./import.js --in={filepath} --host={host} --port={port} --username={username} --password={password} --db={db} --table={catalogo} --prefix={sat_cat} --pkey={true}
或者在其情况下使用以下环境变量参数:DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_NAME
table - 将是要导入的表/目录,例如:c_aduana(如文件名在/csv文件夹中的命名)prefix - 默认sat_cat - 要创建的表名称的前缀