Communitygithub.com

juniortrentin/claude-skills

讀取採購發票和收據(含 QR Code 的照片、XML 檔、SEFAZ 連結等),一次處理多家供應商,核對總金額,將每個品項匹配到產品資料庫,計算平均成本與建議售價,並將所有資料匯入現有的 Google Sheets、Excel 或建立新試算表。

claude-skills 是什麼?

此技能專為 AI 代理設計,用於自動化處理進貨發票與收據的資料登錄。它支援多種來源格式(照片、XML、SEFAZ 查詢連結),能一次處理多家供應商的發票。技能核心流程包含:讀取發票、核對各項加總與總額是否一致、將品項與現有產品資料庫比對(依據 EAN、供應商代碼或描述相似度),並自動分攤折扣與運費以計算實際進貨成本。 比對完成後,它會計算平均成本、套用使用者設定的定價加成(markup)來產生建議售價,最終將所有資料寫入指定的 Google Sheets、Excel 檔案或新建立的試算表中。技能內建嚴謹的防錯機制:未經使用者確認絕不寫入資料、避免寫入公式欄位,且會避免重複登錄同一張發票。 此技能透過一組 Python 腳本(`scripts/` 目錄內)與參考文件(`references/` 目錄內)實現,適合需要在 Claude Code 或類似工具中處理進貨單據的電商、零售業者或庫存管理人員使用。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/juniortrentin/claude-skills/tree/HEAD/cupom-fiscal-vira-cadastro

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

發票轉庫存登錄技能

目標:將一批來自一個或多個供應商的採購發票與收據(照片、XML 或連結)轉換為經過核對的庫存表登錄項目:包含新產品建檔、補貨數量加總、更新平均成本與產生建議售價。

Trentin Solutions 提供的免費技能 · 由 Ivaldo Trentin 建立 · trentinsolutions.com.br · 版本 1.0 可自由使用,包含商業用途,但需保留此版權聲明(詳見 LICENSE.md)。

固定規則(永不違反)

  • 未經核對絕不寫入。 若發票各項金額加總與列印總額不符,則該發票不會被登錄,直到使用者決定如何處理。
  • 寫入前必須預覽。 顯示將要登錄的內容,並等待使用者確認「OK」。
  • 現有試算表不可侵犯: 絕不刪除、重新排序或覆蓋資料,也絕不寫入含有公式的儲存格。僅可新增列。若為 Excel,則在副本上作業。
  • 每張發票僅登錄一次。 在登錄前,先於試算表中搜尋該發票的存取金鑰(或供應商名稱+發票號碼)。
  • 不憑空捏造。 無法辨識的段落須向使用者提問。由技能建立的代碼需標記為「暫定」;計算出的價格需標記為「建議售價」。
  • 不解 SEFAZ 的 CAPTCHA,也不輸入密碼。
  • 此技能不會在網路上搜尋產品圖片。

技能檔案

  • references/leitura.md:如何讀取 XML、QR Code、無 QR 的照片及無發票的採購;組合包;採購 vs 費用。
  • references/formato.md:每張發票的 JSON 格式及設定檔格式。
  • references/planilhas.md:新試算表、現有 Excel、Google Sheets 連結及欄位對應。
  • scripts/ler_xml_nfe.py、scripts/ler_qrcode.py、scripts/lancar.py(核對 → 比對 → 寫入試算表)。

請建立任務清單:目標 → 批次 → 讀取 → 核對 → 比對 → 預覽 → 寫入 → 報告。

步驟 1 — 目標與定價規則(提問)

若可用,請使用帶選項的提問工具(AskUserQuestion);否則以文字提問。若使用者已說明,則不再重複詢問。

  1. 「您想將資料登錄到哪裡?」
    • 我已有的 Google Sheets 試算表(請提供連結)
    • 我已有的 Excel 檔案(請附加檔案)
    • 新的試算表(Google Sheets 或 Excel)
  2. 定價:「您使用的加成倍數是多少?」(例如 2× = 以成本兩倍價格銷售)與「您希望將價格調整為整數嗎(例如 R$ 5、8、10、12…)?」。若試算表中已有 Config 工作表,或可從已建檔產品的平均加成(售價 ÷ 成本)計算出該值,則直接採用該值,不再提問。
  3. 僅在首次使用現有試算表時:讀取其結構並顯示欄位對應表(詳見 planilhas.md)供使用者確認。

將回答記錄在 trabalho/config.json 中(格式見 formato.md)。若為新試算表,這些設定將寫入 Config 工作表,且不再重複詢問。

若無人跟進(排程任務):建立新的 Excel 試算表,使用 2× 加成倍數並啟用整數定價,並在交付時於頂端備註此選擇。

步驟 2 — 收件

使用者可以一次傳送所有資料:多張照片、PDF、XML 和連結,可能來自不同供應商,混合在一起。

  1. 列出收到的所有檔案。
  2. 按發票分組:同一張發票可能有多張照片(詳見 leitura.md),同一張收據可能被拍了兩次。
  3. 在開始讀取前,顯示簡短摘要:「共找到來自 4 家供應商的 7 張發票:2 個 XML、3 張有 QR Code 的收據、2 張無 QR 的發票照片。其中 1 張照片似乎是重複的。」

步驟 3 — 讀取每張發票

遵循 references/leitura.md,務必使用最可靠的來源:

  • XML → python scripts/ler_xml_nfe.py arquivos/*.xml --saida trabalho/notas
  • 有 QR Code 的收據 → python scripts/ler_qrcode.py fotos/*.jpg --json trabalho/qrcodes.json,開啟 SEFAZ 查詢連結並轉錄品項。若查詢需要 CAPTCHA,則改由照片讀取。
  • 無 QR Code → 逐行轉錄照片內容,核對每列的數量 × 單價。

每張發票會產生 trabalho/notas/<名稱>.json。若遇到組合包(fator)及非轉售品項(`

相關技能