💼

財務專用發票識別

👤 明天你好 📦 v1.1.0 ⭐ 4.5 ⬇️ 253 下載
💼 行業專業 免費

📖 技能介紹


name: invoice-ledger-skill description: 財務專用發票識別skill,並生成便於對比的發票臺賬,為後續進項銷項統計,稅率計算,合同匹配提供可直接使用的臺賬版本。批次讀取本地 PDF、圖片、XML 等發票檔案,提取票面和商品明細,拆分多票 PDF、合併已確認屬於同一發票的連續頁面,並將結果追加到使用者指定的 Excel 發票採集臺賬;重複項跳過,異常集中寫入"識別提示"。當用戶要求識別、整理、彙總、匯入或批次處理發票,續寫已有發票臺賬,或處理數電發票、多頁 PDF、掃描件、計程車票、定額髮票時使用。優先直接解析原始文本型 PDF;僅在輸入沒有可用文本層時使用本地 OCR。 slug: maple192600-li-invoice-ledger displayName: 財務專用發票識別 version: 1.1.0 summary: 財務專用發票識別 Skill,生成便於對比的發票臺賬,為進項銷項統計、稅率計算、合同匹配提供可直接使用的臺賬版本。 license: MIT


發票識別並追加臺賬

把使用者提供的發票完整處理到 Excel 寫入和結果彙報。預設批次處理,複用已經配置的環境和臺賬。

執行原則

  • 以本 SKILL.md 所在目錄為 skill 根目錄,所有相對路徑和命令都從該目錄執行。
  • 優先使用數電發票原始文本型 PDF,不要先轉成圖片。系統先解析已有文本,只有沒有文本或直接識別未通過的頁面才會自動回退 OCR。
  • 系統按檔案和頁面分流,同一目錄只需執行一次。文本識別通過的頁面不會呼叫 OCR。
  • 臺賬只追加新資料並跳過疑似重複。禁止覆蓋、清空或替換已有資料,禁止使用 --replace-existing--update-existing
  • 沒有證據的欄位保持為空或待複核,不猜測發票號碼、購銷雙方、金額、稅額和商品明細。
  • 不支援 OFD。要求使用者從電子稅務局稅務數字賬戶下載 PDF 版式檔案。

1. 確定輸入和臺賬

從使用者請求中取得單個發票檔案或發票資料夾。批次目錄先盤點 PDF、PNG、JPG、JPEG、BMP、TIF、TIFF、WebP、XML、TXT 和 Markdown 檔案,並單獨記錄 OFD 及其他不支援的檔案。

--input-dir 只處理當前目錄,不遞迴子目錄。請求範圍包含子目錄時,對每個含支援檔案的目錄分別執行,持續寫入同一臺賬,最後彙總所有執行結果。不得把子目錄或不支援的檔案靜默算作已處理。

讀取 config/user_settings.local.yaml 中的 draft_ledger。該檔案不存在、儲存路徑失效或使用者明確指定另一份臺賬時,取得使用者提供的資料夾或 .xlsx 路徑,並在下一步把它傳給安裝器建立或記錄。不得把 skill 根目錄的 發票採集臺賬.xlsx 當作工作臺賬,它只用於建立新臺賬。

2. 準備環境

首次安裝或 .venv\Scripts\python.exe 不存在時,準備基礎環境並記錄臺賬:

python scripts\install_skill_env.py --ocr none --ledger <資料夾或臺賬.xlsx>

7w4.net提供免費和付費技能下載。

.venv 已存在且儲存的臺賬路徑有效時,不要重複執行安裝器或 fp_doctor.py,直接進入寫入前檢查。只需建立或切換臺賬時執行:

python scripts\install_skill_env.py --ledger-only --ledger <資料夾或臺賬.xlsx>

該命令只建立或記錄臺賬,不建立虛擬環境、不安裝依賴、不執行環境檢查。

預檢返回碼為 3 時,執行 python scripts\install_skill_env.py --ocr auto --ledger <資料夾或臺賬.xlsx>;安裝器自動選擇 GPU 或 CPU 依賴並完成安裝後環境檢查。安裝完成後重新執行預檢。Skill 或依賴升級後,以及實際執行出現 Python、依賴、OCR 模型、CUDA 或配置錯誤時,再執行 fp_doctor.py 定位問題。環境錯誤未解決時保留真實錯誤,不繼續寫入臺賬。

3. 選擇識別配置

普通識別統一使用 config\runtime_ocr_auto.yaml。它只在實際需要時呼叫 OCR,並自動選擇 GPU 或 CPU。runtime.yamlruntime_ocr_cpu.yamlruntime_ocr_gpu.yaml 僅用於明確的除錯或裝置固定場景。

4. 寫入前檢查

先執行 --check-only。單個檔案使用 --input,資料夾使用 --input-dir,兩者只選一個。

.\.venv\Scripts\python.exe scripts\fp_ledger.py <輸入引數> --draft-ledger <臺賬.xlsx> --config <識別配置> --output-dir output --check-only

預檢會實際嘗試原生文本識別,並輸出 direct_filesstructured_filesocr_required_filesocr_fallback_filesunsupported_filesocr_required_pages。它不執行 OCR,也不修改 Excel。返回碼為 0 才繼續;返回碼為 3 表示需要先準備 OCR 環境;返回碼為 2 表示引數、臺賬、配置或輸入存在阻斷。

5. 執行識別和寫入

使用與檢查階段相同的輸入、臺賬和配置,去掉 --check-only

.\.venv\Scripts\python.exe scripts\fp_ledger.py <輸入引數> --draft-ledger <臺賬.xlsx> --config <識別配置> --output-dir output --json-output summary

不要把單張、單個目錄成功當作整批完成。讀取每次執行的最終 JSON 摘要並彙總,核對:

  • status
  • input_countrecognized_invoices
  • added_rowsskipped_duplicate_rows
  • review_required_unitsunmodeled_unitsfailed_units
  • output_workbook

6. 彙報結果

向用戶說明實際處理檔案數、識別發票數、新增明細數、疑似重複數、待複核或失敗數,以及目標 Excel 的完整路徑。

待複核、未支援和未寫入原因以 Excel 的“識別提示”工作表為準。只有具體票據失敗或需要定位時,才讀取 output\units 下對應證據檔案。命令失敗、結果為 partialuncompleted 時明確說明,不能聲稱全部完成。

🤖 AI 評測

發票採集臺賬功能完整,能自動識別多種發票格式並彙總到 Excel,處理速度快。介面操作簡單,異常情況有提示。缺點是部分特殊發票識別率偏低,OFD 檔案暫不支援,且目前僅支援 Windows 系統。

📊 多維度評分

適應性4.5
規範性4.2
有效性4.5
可靠性4.5
可信度5

📁 包含檔案 (116 個)

📄 README.md 5.6 KB
📄 SKILL.md 5.8 KB
📄 config/deductible_vat_rules.yaml 1.4 KB
📄 config/runtime.yaml 461 B
📄 config/runtime_ocr_auto.yaml 254 B
📄 config/runtime_ocr_cpu.yaml 582 B
📄 config/runtime_ocr_gpu.yaml 584 B
📄 config/status_messages.yaml 532 B
📄 config/template_profiles/current.yaml 4.2 KB
📄 config/user_settings.local.yaml 79 B
📄 config/xbrl/atr_issuer.xml 5.6 KB
📄 config/xbrl/efi.xml 3.9 KB
📄 config/xbrl/einv_ord_receiver.xml 5.9 KB
📄 config/xbrl/inv_tlf_receiver.xml 6 KB
📄 config/xbrl/rai_issuer.xml 5.8 KB
📄 pyproject.toml 157 B
📄 requirements-ocr-cpu.txt 54 B
📄 requirements-ocr-gpu.txt 114 B
📄 requirements.txt 33 B
📄 schemas/air-ticket-itinerary.yaml 1.7 KB
📄 schemas/building-service.yaml 331 B
📄 schemas/catalog.yaml 2.7 KB
📄 schemas/freight-transport-service.yaml 496 B
📄 schemas/general-machine-invoice.yaml 1.6 KB
📄 schemas/medical-fiscal-receipt.yaml 1.6 KB
📄 schemas/metro-quota-invoice.yaml 1.1 KB
📄 schemas/motor-vehicle-unified.yaml 1.3 KB
📄 schemas/passenger-transport-service.yaml 775 B
📄 schemas/railway-ticket.yaml 1.3 KB
📄 schemas/real-estate-operating-lease.yaml 1.3 KB
📄 schemas/refined-oil.yaml 299 B
📄 schemas/road-bus-ticket.yaml 1.6 KB
📄 schemas/standard-invoice.yaml 8.2 KB
📄 schemas/tax-payment-certificate.yaml 1.6 KB
📄 schemas/taxi-machine-invoice.yaml 1.3 KB
📄 schemas/toll-invoice.yaml 1.5 KB
📄 schemas/water-passenger-ticket.yaml 1.4 KB
📄 scripts/fp_acceptance.py 4.6 KB
📄 scripts/fp_doctor.py 633 B
📄 scripts/fp_ledger.py 654 B
📄 scripts/install_skill_env.py 7.6 KB
📄 src/invoice_ledger/__init__.py 54 B
📄 src/invoice_ledger/_paths.py 777 B
📄 src/invoice_ledger/cli.py 28.7 KB
📄 src/invoice_ledger/contracts.py 14 KB
📄 src/invoice_ledger/doctor.py 9.6 KB
📄 src/invoice_ledger/errors.py 561 B
📄 src/invoice_ledger/input_profile/__init__.py 0 B
📄 src/invoice_ledger/input_profile/einvoice_xml.py 3.5 KB
📄 src/invoice_ledger/input_profile/embedded_xbrl.py 6.3 KB
📄 src/invoice_ledger/input_profile/file_profile.py 7.1 KB
📄 src/invoice_ledger/input_profile/invoice_units.py 3.1 KB
📄 src/invoice_ledger/input_profile/ocr_adapter.py 13.7 KB
📄 src/invoice_ledger/input_profile/ocr_cache.py 3.9 KB
📄 src/invoice_ledger/input_profile/pdf_context.py 1.4 KB
📄 src/invoice_ledger/input_profile/text_extraction.py 6.2 KB
📄 src/invoice_ledger/input_profile/text_units.py 4.4 KB
📄 src/invoice_ledger/output/__init__.py 0 B
📄 src/invoice_ledger/output/duplicate_rows.py 6.3 KB
📄 src/invoice_ledger/output/evidence.py 4.6 KB
📄 src/invoice_ledger/output/ledger_rows.py 11.5 KB
📄 src/invoice_ledger/output/recognition_notices.py 6.5 KB
📄 src/invoice_ledger/output/template_profile.py 5.4 KB
📄 src/invoice_ledger/output/template_writer.py 22.4 KB
📄 src/invoice_ledger/output/workbook_repair.py 3.6 KB
📄 src/invoice_ledger/parsing/__init__.py 0 B
📄 src/invoice_ledger/parsing/_helper_fields.py 11.8 KB
📄 src/invoice_ledger/parsing/_helper_layout.py 10.3 KB
📄 src/invoice_ledger/parsing/_helper_primitives.py 5.8 KB
📄 src/invoice_ledger/parsing/_helpers.py 2 KB
📄 src/invoice_ledger/parsing/_invoice_fields.py 6.5 KB
📄 src/invoice_ledger/parsing/_line_item_ocr_table.py 17.1 KB
📄 src/invoice_ledger/parsing/_line_item_receipts.py 6.1 KB
📄 src/invoice_ledger/parsing/_line_item_sequence.py 17 KB
📄 src/invoice_ledger/parsing/_line_item_sequence_helpers.py 5.7 KB
📄 src/invoice_ledger/parsing/_line_item_traditional.py 4.2 KB
📄 src/invoice_ledger/parsing/_line_items.py 1 KB
📄 src/invoice_ledger/parsing/_parties.py 17.5 KB
📄 src/invoice_ledger/parsing/_totals.py 6.1 KB
📄 src/invoice_ledger/parsing/_traditional_vat.py 3.4 KB
📄 src/invoice_ledger/parsing/field_candidates.py 15.9 KB
📄 src/invoice_ledger/parsing/field_resolver.py 9.2 KB
📄 src/invoice_ledger/parsing/invoice_identity.py 1.1 KB
📄 src/invoice_ledger/parsing/scheme_extractors/__init__.py 635 B
📄 src/invoice_ledger/parsing/scheme_extractors/air_ticket.py 8.6 KB
📄 src/invoice_ledger/parsing/scheme_extractors/machine_invoice.py 3.1 KB
📄 src/invoice_ledger/parsing/scheme_extractors/medical_receipt.py 2.2 KB
📄 src/invoice_ledger/parsing/scheme_extractors/metro_quota.py 2.1 KB
📄 src/invoice_ledger/parsing/scheme_extractors/motor_vehicle.py 7.8 KB
📄 src/invoice_ledger/parsing/scheme_extractors/railway.py 4 KB
📄 src/invoice_ledger/parsing/scheme_extractors/road_bus.py 3.7 KB
📄 src/invoice_ledger/parsing/scheme_extractors/tax_payment.py 3 KB
📄 src/invoice_ledger/parsing/scheme_extractors/taxi.py 2.5 KB
📄 src/invoice_ledger/parsing/scheme_extractors/water_passenger.py 2.6 KB
📄 src/invoice_ledger/pipeline/__init__.py 38 B
📄 src/invoice_ledger/pipeline/unit_processor.py 22.8 KB
📄 src/invoice_ledger/schema/__init__.py 0 B
📄 src/invoice_ledger/schema/schema_loader.py 2.5 KB
📄 src/invoice_ledger/schema/schema_router.py 6.4 KB
📄 src/invoice_ledger/validation/__init__.py 0 B
📄 src/invoice_ledger/validation/deductible_vat.py 9.1 KB
📄 src/invoice_ledger/validation/record_validator.py 10.8 KB
📄 src/invoice_ledger/validation/review_notes.py 8.6 KB
📄 tests/test_acceptance_manifest.py 1.5 KB
📄 tests/test_building_oil_models.py 3.3 KB
📄 tests/test_common_parser_regressions.py 27.7 KB
📄 tests/test_freight_toll_models.py 5.7 KB
📄 tests/test_install_skill_env.py 1.3 KB
📄 tests/test_ocr_routing.py 13.9 KB
📄 tests/test_property_passenger_models.py 6 KB
📄 tests/test_recognition_notices.py 7.8 KB
📄 tests/test_release_safety.py 9.7 KB
📄 tests/test_schema_inheritance_and_routing.py 7.9 KB
📄 tests/test_toll_plate_dot.py 1.6 KB
📄 tests/test_workbook_repair.py 2.2 KB
📄 發票採集臺賬.xlsx 8.6 KB