Skip to content
Agentmart
Submit a tool

invoice-winning-numbers

從財政部電子發票整合服務平台查統一發票最新中獎號碼並對獎,支援批次對獎、雲端發票專屬獎(PDF 清單)、歷史期別查詢與每期自動對獎流程。發票對獎、統一發票、中獎號碼、特別獎、特獎、頭獎、增開六獎、雲端發票專屬獎、兌獎期限的問題適用。免 API 金鑰、免登入。發票以外的稅務申報、記帳問題不適用。

Skill by tahodev

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tahodev-invoice-winning-numbers

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

從財政部電子發票整合服務平台查統一發票最新中獎號碼並對獎,支援批次對獎、雲端發票專屬獎(PDF 清單)、歷史期別查詢與每期自動對獎流程。發票對獎、統一發票、中獎號碼、特別獎、特獎、頭獎、增開六獎、雲端發票專屬獎、兌獎期限的問題適用。免 API 金鑰、免登入。發票以外的稅務申報、記帳問題不適用。

Use cases: documents, backend, finance

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/invoice-winning-numbers

What's inside

Skill name
invoice-winning-numbers
Description
從財政部電子發票整合服務平台查統一發票最新中獎號碼並對獎,支援批次對獎、雲端發票專屬獎(PDF 清單)、歷史期別查詢與每期自動對獎流程。發票對獎、統一發票、中獎號碼、特別獎、特獎、頭獎、增開六獎、雲端發票專屬獎、兌獎期限的問題適用。免 API 金鑰、免登入。發票以外的稅務申報、記帳問題不適用。
License
MIT
Metadata
locale: zh-TW · category: finance
Instructions
150 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

# invoice-winning-numbers

> 實測日:2026-09-26(最近一次端對端實測;數值基準日各自標於內文)

從財政部電子發票整合服務平台(https://invoice.etax.nat.gov.tw)的公開頁面取得統一發票中獎號碼,並用手上的發票號碼對獎。不需要 API 金鑰或登入,`curl` 即可。支援:最新期對獎、批次對獎、雲端發票專屬獎(PDF 清單)、歷史期別、每期自動對獎流程。

## 基本流程

1. 下載最新中獎號碼頁
2. 移除 HTML 標籤後解析期別與各獎號碼
3. 用使用者的 8 位發票號碼對獎

### 1. 下載頁面

```bash
curl -sm 30 https://invoice.etax.nat.gov.tw/lastNumber.html -o /tmp/lastNumber.html
```

2026-09-09 實測:HTTP 200、約 20KB、不需特殊 User-Agent。頁面含最新一期的「中獎號碼單」(當日為 115年05-06月,特別獎 19531471、特獎 85941329、頭獎 07225810 / 20231230 / 83518781,無增開六獎),以及特別獎、特獎中獎清冊連結。雲端發票專屬獎在 `cloudNowNumber.html`(見下文專節)。

2026-09-26 實測(115年07-08月期,9/25 開獎次日):特別獎 `38548029`、特獎 `10138845`、頭獎 `24121106` / `28589937` / `83663333` 三組,無增開六獎。頁面殘留的「領獎期間自115年08月06日起至115年11月05日止」是上一期(115年05-06月)的,陷阱仍存在;本期領獎期間依規則推算為 115年10月6日至116年1月5日(開獎日 9/25 次月 6 日起 3 個月),引用時註明請向官方確認。**分頁連結陷阱**:頁首/頁尾的「115年05-06月特別獎、特獎中獎清冊」連結含獎項字樣,從期別標籤直接往後掃會把「特獎」對到清冊連結、讀出錯誤號碼(2026-09-26 實測重現);解析務必從期別標籤後第一個「獎別」表格起點開始(見下方解析範例)。

**領獎期間陷阱:** 頁面上的「領獎期間」文字只屬於它所在區塊的期別。2026-09-09 實測時,最新號碼單已是 115年05-06月,頁面殘留的「領獎期間自115年06月06日起至115年09月07日止」卻是上一期(115年03-04月)的,直接配對會讓使用者錯過領獎。領獎期間只能引用與期別標籤同一區塊的文字;取不到對應區塊時,依規則說明「開獎日(單月 25 日)次月 6 日起算 3 個月」(例:115年05-06月期,115年7月25日開獎,領獎期間為115年8月6日至11月5日),並請使用者到 https://invoice.etax.nat.gov.tw 確認實際期限。

### 2. 解析

**務必先把 HTML 標籤「整個刪掉」(取代成空字串)再取數字。** 號碼會被標籤切開(例如頭獎 07225810 在原始碼中被拆成 `072</span><span ...>25810` 兩段)。如果把標籤取代成空白,數字會斷成 3 碼碎片(`072`、`258`、`10`),對獎會全錯;直接對原始 HTML 下正則也會漏。

```bash
python3 - <<'PY'
import re
h = open('/tmp/lastNumber.html', encoding='utf-8').read()
text = re.sub(r'<[^>]+>', '', h)   # 標籤整個刪除,不要取代成空白
text = re.sub(r'\s+', ' ', text)
m = re.search(r'(1\d\d年\d\d-\d\d月)中獎號碼單', text)
print('期別:', m.group(1) if m else '找不到')
if m:
    # 期別標籤也會出現在頁首/頁尾的分頁連結(含「特別獎、特獎中獎清冊」字樣),
    # 直接從標籤往後掃會把清冊連結當獎項。務必從標籤後第一個「獎別」表格起點開始解析:
    start = text.find('獎別', m.end())
    seg = text[start:start+1200]
    for prize in ['特別獎', '特獎']:
        i = seg.find(prize)
        n = re.search(r'\d{8}', seg[i:i+100]) if i >= 0 else None
        print(prize, n.group(0) if n else '找不到')
    i = seg.find('頭獎')
    if i >= 0:
        j = seg.find('同期', i)          # 頭獎可能多組,取到說明文字前為止
        print('頭獎', re.findall(r'\d{8}', seg[i:j if j > i else i+200]))
    i = seg.find('增開六獎')
    if i >= 0:                            # 不是每期都有
        print('增開六獎', re.findall(r'(?<!\d)\d{3}(?!\d)', seg[i:i+100]))
PY
```

2026-09-09 實測(115年05-06月期):特別獎 `19531471`、特獎 `85941329`、頭獎 `07225810` `20231230` `83518781` 三組皆完整取出,無增開六獎。

獎項結構(2026-09-09 實測頁面記載):

| 獎項 | 條件 | 獎金 |
| --- | --- | --- |
| 特別獎 | 8 碼全同 | 1,000 萬元 |
| 特獎 | 8 碼全同 | 200 萬元 |
| 頭獎 | 8 碼全同(可能有多組) | 20 萬元 |
| 二獎 | 末 7 碼與任一頭獎末 7 碼相同 | 4 萬元 |
| 三獎 | 末 6 碼相同 | 1 萬元 |
| 四獎 | 末 5 碼相同 | 4 千元 |
| 五獎 | 末 4 碼相同 | 1 千元 |
| 六獎 | 末 3 碼相同 | 2 百元 |

### 3. 對獎(含批次)

拿到使用者的發票號碼後(一張或多張):

1. 先比對特別獎、特獎的完整 8 碼。
2. 再比對每一組頭獎:8 碼全同 → 頭獎;否則取使用者號碼末 7 碼與頭獎末 7 碼比,中則二獎;依此類推到末 3 碼(六獎)。
3. 若有「增開六獎」的 3 碼,另比末 3 碼。
4. 一張發票同時對中多個獎項時,以兌領一個獎項為限(頁面領獎說明記載),回報時以最高獎金者為主。

批次對獎(多張發票一次對完)範例:

```bash
python3 - <<'PY'
import re
h = open('/tmp/lastNumber.html', encoding='utf-8').read()
text = re.sub(r'\s+', ' ', re.sub(r'<[^>]+>', '', h))
m = re.search(r'(1\d\d年\d\d-\d\d月)中獎號碼單', text)
start = text.find('獎別', m.end())   # 避開分頁連結,從「獎別」表格起點解析
seg = text[start:start+1200]
sp = re.search(r'\d{8}', seg[seg.find('特別獎'):][:100]).group(0)
st = re.search(r'\d{8}', seg[seg.find('特獎'):][:100]).group(0)
i = seg.find('頭獎'); j = seg.find('同期', i)
heads = re.findall(r'\d{8}', seg[i:j if j > i else i+200])
i = seg.find('增開六獎')
six = re.findall(r'(?<!\d)\d{3}(?!\d)', seg[i:i+100]) if i >= 0 else []

mine = ['12345678', '87654321']   # 使用者的發票號碼,可放多張
prizes = ['頭獎','二獎','三獎','四獎','五獎','六獎']
for n in mine:
    if n == sp:   print(n, '特別獎 1000萬'); continue
    if n == st:   print(n, '特獎 200萬'); continue
    hit = None
    for k in range(8, 2, -1):
        if any(n[-k:] == hd[-k:] for hd in heads):
            hit = prizes[8-k]; break
    if not hit and six and n[-3:] in six: hit = '增開六獎'
    print(n, hit if hit else '沒中')
PY
```

回報時附上:期別、中獎號碼、領獎期間(只引用與該期別同區塊的文字,否則依上述規則推算並加註需向官方確認)、出處 URL。民國年 = 西元年 - 1911(例:115年 = 2026年)。

## 雲端發票專屬獎

雲端發票專屬獎的中獎號碼**不在 HTML 頁面內**,而是每個獎別一份 PDF 清單(2026-09-09 實測)。流程:

```bash
# 1. 下載專屬獎頁面,取出所有 PDF 連結
curl -sm 30 https://invoice.etax.nat.gov.tw/cloudNowNumber.html -o /tmp/cloud.html

From tahodev/baodao-skill, MIT.

More from tahodev/baodao-skill

Signals

Stars
1
Forks
0
Open issues
1
Last commit (this folder)
Sep 26, 2026 (1 month ago)
Last release
Oct 12, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tahodev

Cite this page

invoice-winning-numbers skill. Agent Mart. https://agentmart.dev/skills/tahodev-invoice-winning-numbers (last updated 2026-10-24)