# @casomoltd/paye-calc 中文文档

规范地址：https://npmcn.com/package/%40casomoltd/paye-calc/

版本：0\.15\.0
npm 元数据更新时间：2026-11-07T19:36:12.981Z
中文译文更新时间：2026-11-09T17:15:53.017Z
软件包许可：AGPL-3\.0-only

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40casomoltd/paye-calc
原文对照：https://npmcn.com/package/%40casomoltd/paye-calc/?lang=original
项目主页：https://casomo.co.uk/
源码仓库：https://github.com/casomoltd/paye-calc

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：258 kB，81 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：0 个
- 首次发布：2026-06-23T07:03:05.818Z
- 最新版本发布：2026-11-07T19:36:12.672Z
- 近 30 天下载量：2156（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：44（近 12 个月 44 个）

## 中文简介

联合王国PAYE 带回家工资计算器——所得税、NI、养恤金、学生贷款

## 安装

```sh
npm install @casomoltd/paye-calc
```

也可以使用：`pnpm add @casomoltd/paye-calc`、`yarn add @casomoltd/paye-calc`、`bun add @casomoltd/paye-calc`

## README

# @casomoltd/paye-calc (英语)

英国PAYE带回家的薪酬计算器. 办理2023-24至2026-27年收入税,国家保险,养老金,和学生贷款.

## 安装

```bash
npm install @casomoltd/paye-calc
```

Npm 登记簿上的公示——无认证或 `.npmrc` 需要配置 .

## 使用量

```ts
import {
  TakeHomePay,
  GrossAnnual,
  NetAnnual,
  PensionPercent,
  PensionBasis,
  StudentLoanPlan,
} from '@casomoltd/paye-calc';

const calc = new TakeHomePay('2025-26', 'rUK');
calc.setSalary(GrossAnnual(55000));
calc.setPension({
  basis: PensionBasis.AutoEnrolment,
  contribution: PensionPercent(5),
});
calc.setStudentLoanPlans(
  new Set([StudentLoanPlan.Plan2]),
);

calc.net;                  // annual take-home
calc.incomeTax;            // annual income tax
calc.nationalInsurance;    // annual NI
calc.pensionDeduction;     // annual pension contribution
calc.studentLoanDeduction; // annual student loan repayment
calc.effectiveTaxRate;     // total deductions as % of gross
calc.marginalTaxRate;      // tax rate on next £1
calc.annualAllowance();    // the pension annual allowance and any excess

// Reverse calculation — find gross from target net
calc.setSalary(NetAnnual(35000));
calc.gross;                // gross needed for £35k net
```

`payAt(gross, inputs)` 给一个没有计算器的呼叫者提供与纯函数相同的数字([如何运作](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#one-calculation-behind-every-figure)) (中文(简体) ).

## 特征

-   **所得税** 个人津贴接力器超过100克的渐进带。 支持苏格兰费率.
-   **国家保险** ——主阈值,主和高率.
-   **养恤金** 自动入学(只有合格收入)、雇主/净工资、工资牺牲、个人/救济来源以及国民保健体系分级缴款.
-   **学生贷款** - 计划1、2、4、5和研究生,同时制定多项计划.
-   **税法** ——标准,K代码,BR,NT,0T,作为HMRC的PAYE手册(PAYE11025)的D代码定义了它们(D0和D1;SD0到SD3在苏格兰),以及苏格兰和威尔士的前缀.
-   **净额对毛额** —— 二进制搜索倒数计算,每当其他输入变化时都会重新解析([为什么](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#one-calculation-behind-every-figure)) (中文(简体) ).
-   **养恤金收入** —— 说 `grossFor(targetNet, year, region)`: 养恤金总收入在所得税之后仅留下目标,包括个人津贴扣减器。 而不是反向带回家:支付的养恤金不包含国家保险、学生贷款或缴款.
-   **国家养恤金** —— 说 `fullNewStatePension(year)`新的国家养恤金的全额税率,一个纳税年度、每周和每年;以及 `statePensionYearly(weekly)` 为预测的每周数字。 只有全额费率;一个人应该支付什么取决于其国家保险记录.
-   **免税儿童保育** —— 说 `taxFreeChildcare(year)`:经调整的净收入限额,如果超过这一限额,父母将直接失去净收入限额,每个子女和每个残疾儿童每年的上限上调.
-   **英格兰工作父母免费托儿服务** —— 说 `freeChildcareEngland(year)`:经调整的净收入限额,超过该限额的父母或其伴侣没有资格。 除了免税儿童保育之外,还有一项计划,这是它自己的条例所引用的.
-   **最低养恤金年龄** —— 说 `minimumPensionAge(on)`根据《2004年财政法》的规定,正常最低养老金年龄为提取日期,55至2028年4月5日,57至2028年4月6日,适用于军警部门以外的任何计划. `minimumPensionAgeRise()` 名字的时代和日出. `minimumPensionAgeFor(right, on)` 鉴于成员计划赋予他们的权利,是成员自己的最低法定年龄,并随着年龄的提高而受到保护([规则](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#the-minimum-pension-age)) (中文(简体) ).
-   **年度津贴** —— 说 `annualAllowance()` 计算器上:接线器后的津贴、当年的养恤金投入和任何超额([这算什么](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#the-annual-allowances-pension-input)) (中文(简体) ). 设定受益额的某一期间投入低于 _养恤金输入期_。 。 。 .
-   **纳税年度终了** —— 说 `TaxYearEnd` (一) 任何已公布或不公布的纳税年度,按其结束的日历年列出; `taxYearEndFor(date)` 把约会变成约会, `taxYearStartDate(end)` 财务报告和审定财务报表 `taxYearEndDate(end)` 4月6日和4月5日闭幕 `taxYearEndOf(year)` 财务报告和审定财务报表 `taxYearLabel(end)` 转出 `TaxYear` 标签([为什么](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#tax-year-ends)) (中文(简体) ).
-   **养恤金输入期** —— 说 `definedBenefitInput(period)` hMRC的养老金投入 `PensionInputPeriod`:其纳税年度为 `TaxYearEnd`及其设定受益安排`ArrangementValues`),每层为单层(平地)[PTM053301 (英语)](https://www.gov.uk/hmrc-internal-manuals/pensions-tax-manual/ptm053301)) (中文(简体) ). 2016-17年之前的一段时期, `FIRST_TAX_YEAR_PENSION_INPUT_PERIOD`,被拒绝; `refuseBeforePensionInputPeriods` 拒绝打电话者阅读自己的周期([为什么](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#a-defined-benefit-input-is-worked-in-one-place)) (中文(简体) ).
-   **细目** —— 说 `taxBreakdown`, (中文(简体) ), `niBreakdown`,以及 `studentLoanBreakdown` 详细产出。 每个税目都包含一个 `kind`: 津贴,一个K码的加薪([为什么](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md#tax-is-worked-on-paye-free-pay)),或乐队;只有乐队一行带有 `rate` 财务报告和审定财务报表 `taxPaid`打开的行是 `TaxOpeningRow`,从 `TAX_OPENING_ROW_NAMES`; 一个乐队的名字来自 `TAX_BAND_NAMES`,以及 `taxBandByName`, (中文(简体) ), `basicRateBand` 财务报告和审定财务报表 `higherRateBand` 在一年的配置中找到一个. `TaxCode.isKCode` 说明代码是否是 K 代码 .
-   **减员机** —— 说 `personalAllowanceTaperEnd` 即津贴已用完的收入, `personalAllowanceTaperBand` 录音机的乐队坐在那里 `personalAllowanceTaperRate` 所得税的有效税率; `INCOME_PER_POUND_WITHDRAWN` 是提取一英镑的收入.
-   **期间** —— 说 `PERIODS_PER_YEAR` 说每个有多少个 `Period` 一年,还有 `PERIOD_LABELS` 每个名字.
-   **薪金** - 负或非无限 `GrossAnnual` 或者说 `NetAnnual` 丢出一个 `RangeError`,作为 `grossFor` 其目标为零;净目标为毛零.
-   **钱** —— 说 `roundPence` 弹到一分钱,和 `uplift(amount, rate)` 以小数率提高一个数额.

## 纳税年份

| 年份 | 英国 | 苏格兰 |
| --- | --- | --- |
| 2023-24 (英语) | 对 | 对 |
| 2024-25 (英语) | 对 | 对 |
| 2025-26 (简体中文) | 对 | 对 |
| 2026-27 (中文(简体) ) | 对 | 对 |

## 文档

-   [`docs/how-it-works.md`](https://npmcn.com/package/%40casomoltd/paye-calc/docs/how-it-works.md) ——规范图书馆的规则,从工资年/纳税年分拆起,解决工资表的消费者欠下什么.
-   [`docs/verification.md`](https://npmcn.com/package/%40casomoltd/paye-calc/docs/verification.md) 如何对照已公布的资料来源核对数字.

## 发展

```bash
npm run check       # lint + typecheck + test
npm run build       # compile to dist/
npm test            # vitest
npm run test:watch  # vitest watch mode
```

## 许可证

AGPL-3.0-仅见 [自由主义](https://npmcn.com/package/%40casomoltd/paye-calc/LICENSE). 版权 2026 Casomo Ltd.

没有任何关联例外: 将这个库与你自己的代码合并, 合并的作品也是AGPL, 让人们通过网络使用它, 迫使您提供它的来源 。 收费不是引发这种情况的原因,不收费也不是豁免。 商业许可证可用于需要关闭的用途——通过 [casomoltd.com (英语)](https://casomoltd.com/)。 。 。 .

## 常见问题

### @casomoltd/paye-calc 是什么？

联合王国PAYE 带回家工资计算器——所得税、NI、养恤金、学生贷款

### 如何安装 @casomoltd/paye-calc？

在项目目录运行 npm install @casomoltd/paye-calc，或使用 pnpm add / yarn add / bun add。

### @casomoltd/paye-calc 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @casomoltd/paye-calc 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @casomoltd/paye-calc 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @casomoltd/paye-calc 可以商用吗？

@casomoltd/paye-calc 使用 AGPL-3\.0-only 许可。最严格的 Copyleft：除分发外，通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括，不构成法律意见，请以许可原文为准。

### @casomoltd/paye-calc 的下载量有多少？

根据 npm 官方下载统计，@casomoltd/paye-calc 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,156 次，日均约 72 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @casomoltd/paye-calc 还在维护吗？

最新版本 0\.15\.0 发布于 2026/11/08（1 天前）；至今共发布 44 个版本，其中过去 12 个月发布了 44 个；首次发布于 2026/06/23。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

