yalla-ya / cfdi-cat-sat
从SAT获取并准备的JSON和CSV格式的CFDI目录,便于电子发票
README
CFDI目录json和csv
这是一个用于获取SAT最新目录的仓库,支持不同格式的JSON和CSV
处理结果
该过程将处理位于最新版本文件夹中的catCFDI文件,进行处理并创建以下文件
csv/.csv - 每个目录的导出,标题与Excel csv/相同.sql.csv - 每个目录的导出,标题已翻译,可用于SQL数据库导入(不包含重音符号和空格)json/.json - 原始SAT目录中的对象JSON数组json/.t.json - 原始SAT目录中的对象JSON数组,字段已去重音符号
字段翻译/转换
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: ti c_TipoDeComprobante: 在工资和其他行中具有连接的单元格,重新创建以使其只有一个行,分隔的单元格。
process的高级参数
./process.js --ver={numeric} --in={filepath} --decamelize={boolean} --translate{true|filepath} --sufix={.sql|.t|string}
ver - 版本,包含catCFD的文件夹,以及将生成处理后的目录的位置in - catCFDI文件 - 默认 {ver}/catCFDI/catCFDI.xls decamelize - 将目录名称转换为小写,并在每个大写字母前添加_格式 - 所需格式,json或csv - 默认json translate - 是否翻译字段,或使用哪个翻译文件suffix - 要添加到文件的后缀
导入MySQL的高级参数
在导入数据之前,必须处理前面脚本中的CSV文件,以便它们具有SQL格式
./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 - 创建表的名称前缀