Skip to content

Smoaflie/invoice_collection

Repository files navigation

Logo

发票收集工具

一个围绕着飞书多维表格平台,对发票进行汇总统计管理的工具。

报告Bug · 提出新特性

Contributors Forks Stargazers Issues MIT License LinkedIn

目录

功能展示

  • 用户批量上传发票,脚本自动解析发票,提取发票信息并同步结果到收集表内

  • 允许使用多个收集表收集不同时期发票

  • 自动去重

  • 自定义发票审批规则

    image-20250615125741251 image-20250615125741251
  • 创建发票信息云文档 / 同步全部发票信息到云文档

  • 自定义发票标签(允许批量修改发票标签)

    image-20250615125741251
  • 按不同的规则导出发票(允许多种规则并存,文件采用硬链接,不占据额外存储空间)

    • 注意:Windows系统中,仅NTFS的磁盘格式才支持硬链接
    image-20250615125741251
  • 自定义导出规则

    image-20250615125741251

上手指南

开发前的要求
  1. Python 3.8+
  2. 百度智能云账号(用以调用OCR接口,每月1000次免费额度)
  3. 飞书自建应用(脚本通过应用身份操作飞书多维表格)
安装步骤
  1. 克隆该仓库

    git clone https://github.com/Smoaflie/invoice_collection.git
    cd invoice_collection
  2. 配置python虚拟环境(可选)

    python3 -m venv .venv
    
    # windows系统
    .\.venv\Scripts\activate
    # Linux系统
    source .venv/bin/activate
  3. 安装依赖模块

    pip install -r requirements.txt
  4. 配置环境变量(分别获取飞书API 百度API凭证信息)

    nano .env.example
    # 按照提示信息填入必要参数
    # ...
    mv .env.example .env
    
  5. 在飞书中导入该项目的多维表格模板

  6. 将你的自建应用添加为文档应用

    add_document_app1add_document_app2

  7. 飞书开发者后台 添加如下权限(可批量添加)

    {
      "scopes": {
        "tenant": [
          "bitable:app",
          "contact:user.base:readonly"
        ],
        "user": [
          "bitable:app",
          "contact:user.base:readonly"
        ]
      }
    }
  8. 执行

    python3 main.py --help

参数解释

  • lark bitable url: 飞书多维表格链接

    格式:

    • 如果多维表格的 URL 以 feishu.cn/base 开头,该多维表格的 app_token 是下图高亮部分:app_token.png
    • 如果多维表格的 URL 以 feishu.cn/wiki 开头,你需调用知识库相关获取知识空间节点信息接口获取多维表格的 app_token。当 obj_type 的值为 bitable 时,obj_token 字段的值才是多维表格的 app_token。

    feishu.cn/base 开头的url获取办法:

    lark_bitable_url

文件目录说明

invoice_collect/
├── core/                      # 📦 核心模块(发票与底层逻辑)
│   ├── invoice/               # 发票处理逻辑(基类、OCR 等)
│   │   ├── base.py            # 发票基类(如 InvoiceBase)
│   │   ├── baidu_ocr.py       # Baidu OCR 识别接口封装
│   │   └── __init__.py
│   ├── log.py                 # 日志配置模块
│   ├── utils.py               # 通用工具函数
│   └── __init__.py
├── static/                    # 📁 README 用到的静态资源(如图片)
│   └── images
├── main.py                    # ✅ 入口程序(含参数解析、调度等)
├── function.py                # 核心功能函数
├── custom_rule.py             # 自定义规则逻辑
├── .env.example               # 环境变量样例
├── group.json.example         # group 配置样例
├── README.md                  # 项目说明文档
└── requirements.txt           # 依赖清单

依赖模块

作者

@smoaflie

mail: smoaflie@outlook.com

qq: 1373987167

鸣谢

版权说明

该项目签署了MIT 授权许可,详情请参阅 LICENSE

About

该脚本可通过拉取飞书多维表格内记录的发票信息,自动处理和分析

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages