Skip to main content

台灣勞健保勞退法定費用計算引擎 — Taiwan statutory payroll calculation engine

Project description

taiwan-payroll (Python)

台灣勞健保勞退法定費用計算引擎的 Python 實作。讀同一份 data/,跑通同一套 testdata/ 黃金向量,與 TypeScript 版計算結果完全一致。零執行期依賴(純 stdlib)。

安裝

pip install taiwan-payroll

用法

from taiwan_payroll import create_payroll_engine, CalculateInput, SupplementaryInput, ProratedInput

engine = create_payroll_engine(year=2026)
engine.calculate(CalculateInput(monthly_salary=42000, dependents=1, pension_self_contribution=0.06))
engine.calculate_supplementary(SupplementaryInput(type="bonus", amount=200000, monthly_insured_salary=42000))
engine.calculate_prorated(ProratedInput(monthly_salary=29500, start_date="2026-03-08"))

申報媒體檔(健保補充保費)

產生健保署「補充保險費明細申報檔」(CSV/Big5),6 類所得各一(獎金62/兼職63/執行業務65/股利66/利息67/租金68),皆以官方範例逐位元驗證、與 TypeScript 版一致。

from taiwan_payroll import generate_supplementary_bonus_filing, to_big5_bytes, SupplementaryBonusFilingInput, SupplementaryBonusFilingUnit, SupplementaryBonusRecord

r = generate_supplementary_bonus_filing(SupplementaryBonusFilingInput(
    year=2026, filing_date="20260901",
    unit=SupplementaryBonusFilingUnit(tax_id="11111111", name="甲公司", phone="0227065866", email="a@b.tw", contact_name="王小明"),
    records=[SupplementaryBonusRecord(action="I", pay_date="20260615", payee_id="A123456789", payee_name="李四",
        bonus_amount=50000, insured_salary=31800, ytd_bonus_cumulative=150000, unit_code="123456789")],
))
open(r.filename, "wb").write(to_big5_bytes(r.content))  # 檔案為 Big5

股利(generate_supplementary_dividend_filing)逐列保費由呼叫端提供(另附 calc_dividend_premium)。

開發

cd packages/python && python3 -m venv .venv && .venv/bin/python -m pip install -e ".[test]"
.venv/bin/python -m pytest

跨語言一致性:tests/test_vectors.py 載入 repo 根 testdata/ 的同一套黃金向量,與 TypeScript 引擎逐位元比對。

免責聲明

計算結果僅供參考,實際應繳金額以勞保局、健保署核發之繳款單為準。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taiwan_payroll-1.2.0.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taiwan_payroll-1.2.0-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file taiwan_payroll-1.2.0.tar.gz.

File metadata

  • Download URL: taiwan_payroll-1.2.0.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for taiwan_payroll-1.2.0.tar.gz
Algorithm Hash digest
SHA256 bb9328f56adf835f7a394c3806ea598f81ffeb67e7f7b6c08c56a9cb87c97b9a
MD5 a2d8c22c90a31c3f5230cf4014f6d1e5
BLAKE2b-256 ca83b78f3a09316d1cc12bb9fe592ada3e8b91fbad5e1a74dcf849f9e6b01709

See more details on using hashes here.

Provenance

The following attestation bundles were made for taiwan_payroll-1.2.0.tar.gz:

Publisher: publish.yml on supra126/taiwan-payroll

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file taiwan_payroll-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: taiwan_payroll-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for taiwan_payroll-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91469e0be84e4b905eaa0f7731c0827b9a03361f1c53bd0802fea2eafa136b1c
MD5 cdcc483d4883b24c64c0401f60c71a85
BLAKE2b-256 42dbde0946927be347462ff873a6ee6f69e0d27adbcd54fb0681ab16b7e4f914

See more details on using hashes here.

Provenance

The following attestation bundles were made for taiwan_payroll-1.2.0-py3-none-any.whl:

Publisher: publish.yml on supra126/taiwan-payroll

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page