# @centrapay/swift-parser 中文文档

规范地址：https://npmcn.com/package/%40centrapay/swift-parser/

版本：1\.0\.3
npm 元数据更新时间：2026-11-02T21:36:19.163Z
中文译文更新时间：2026-11-09T07:52:20.907Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40centrapay/swift-parser
原文对照：https://npmcn.com/package/%40centrapay/swift-parser/?lang=original
项目主页：https://github.com/centrapay/swift-parser
源码仓库：https://github.com/centrapay/swift-parser

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

- 包体积（解压后）：3.9 MB，35 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2020-08-03T01:24:12.636Z
- 最新版本发布：2026-11-02T21:36:18.161Z
- 近 30 天下载量：10432（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：6（近 12 个月 2 个）

## 中文简介

快速财务信息解析器( MT940, MT942)

## 安装

```sh
npm install @centrapay/swift-parser
```

也可以使用：`pnpm add @centrapay/swift-parser`、`yarn add @centrapay/swift-parser`、`bun add @centrapay/swift-parser`

## README

# Centrapay SWIFT 解析器

JavaScript的SWIFT银行对账单解析器(ES2015). 支助 [MT 940 客户 语句消息](https://www2.swift.com/knowledgecentre/publications/us9m_20190719/2.0?topic=mt940.htm) 财务报告和审定财务报表 [MT 942 临时交易报告](https://www2.swift.com/knowledgecentre/publications/us9m_20190719/2.0?topic=mt942.htm)。 。 。 .

## 安装

```bash
npm install @centrapay/swift-parser
```

## 使用量

```javascript
const parser = require('@centrapay/swift-parser');
const statements = parser.parse({
  type: 'mt940',
  data: fs.readFileSync(path, 'utf8'),
});

statements.forEach(stmt => {
  console.log(stmt.statementDate, stmt.accountIdentification, stmt.number.statement);
  stmt.transactions.forEach(txn => {
    console.log(txn.amount, txn.currency);
  };
};
```

## 国 际

这个软件包还包括一个CLI,它分析一个SWIFT文件,并将结果输出为JSON:

```bash
swift-parse -t mt942 my-statement.txt
```

## API 密码

### parse () (帮助)

解析 SWIFT 语句文档 .

若为 `parser.parse()` 以 `{ validate: true }` 然后是MT940语句 经进一步验证的有:

-   所有严格要求的标记
-   期初/期末余额货币相同
-   期初余额+营业额=期末余额

**回返情况:** 矩阵<声明>

**参数 :**

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| 数据 | 字符串 | 原始 SWIFT 信件文本 |
| 类型 | 字符串 | 信件格式( mt940 或 mt942) |
| 验证 | 布尔 | _可选_ 执行额外的语义错误检查 |

### 声明

| 外地 | 类型 | 说明 |
| --- | --- | --- |
| 交易参考 | 字符串 | 标记 20 引用 |
| 相关参考 | 字符串 | 标记 21 引用 |
| 账户识别 | 字符串 | 标记 25 自己的银行账户识别 |
| 编号。报表 | 字符串 | 标记 28 主语句编号 |
| 数字.顺序 | 字符串 | 标记 28 语句子编号(序列) |
| 数字. 节 | 字符串 | 标记 28 语句子编号( 存在于一些银行) |
| 语句日期 | 日期 | 标记 62(MT940,日精度)或标记 13D(MT942,分精度) |
| 打开目标 | 日期 | 标记 60 语句打开日期 |
| 关闭目标 | 日期 | 标记 62 语句关闭日期 |
| 关闭 Availbalance 数据 | 日期 | 标记 64 期末可用余额日期,默认=期末日期 |
| 前置易碎电池 | 日期 | 页:1 |
| 货币 | 字符串 | 报表货币 (美元,欧元.) |
| 打开屏蔽 | 大数 | 报表的期初余额(有符号,根据借方/贷方标记计算) |
| 关闭 | 大数 | 报表期末余额(有符号,根据借项/贷记号计算) |
| 关闭易碎品 | 大数 | 标记 64 期末可用余额,默认为期末余额 |
| 前进的易碎品 | 大数 | 页:1 |
| 资料 给会计 | 字符串 | 附加声明级别信息 |
| 交易 | 数组 | 收取交易 |
| 信件锁定 | 对象 | 如果存在语句信息块( 警告) |

### 交易

| 外地 | 类型 | 说明 |
| --- | --- | --- |
| 日期 | 日期 | 交易日期 |
| 金额 | 大数 | 交易金额(带有符号、信用+、去比特-) |
| 倒转 | 布尔 | 交易为倒转 |
| 货币 | 字符串 | 交易货币(报表货币副本) |
| 细节 | 字符串 | 有关86个标签的内容,可以是多行(`\n` 已删除) |
| 交易类型 | 字符串 | MT940交易类型代码(例如NTRF.) |
| 参考文献 | 字符串 | 付款参考字段 |
| 条目日期 | 日期 | 输入日期字段 |
| 基金代码 | 字符串 | 基金代码字段 |
| 银行参考 | 字符串 | 银行参考 |
| 其他细节 | 字符串 | 额外细节(补充细节) |
| 结构细节 | 对象 | 如果检测到结构化细节 |
| 非线性 | 字符串 | 与交易有关的NS标签的内容(标签后61或86) |

### 结构化交易细节

这个 `transaction.structuredDetails` 属性可用于访问结构化 数据来自语句交易细节(SWIFT"86"标记). 以下内容: 支持结构化细节格式 :

-   `'<sep>DD'`时 `<sep>` 可能会是 `'>'` 或者说 `'?'` 财务报告和审定财务报表 `DD` 是两位数
-   `'/TAG/value'`时 `TAG` 是 2 至 4 大写字符.

**示例**

```
>20some details >30more data
```

```json
{
  "20": "some details",
  "30": "more data"
}
```

**示例**

```
/ORDP/Smith Corp
```

```json
{
  "ORDP": "Smith Corp"
}
```

## 历史

见 [更改日志](https://npmcn.com/package/%40centrapay/swift-parser/CHANGELOG.md)

## 法律

版权:"2015" [亚历山大·齐布尔斯基](https://github.com/a-fas) 和其他贡献者。 版权 2020 [百分点付费](https://centrapay.com/)。 。 。 .

这个软件根据Apache-2.0许可证获得许可. 请看 [自由主义](https://npmcn.com/LICENSE) 详细情况.

## 贷项

从 [a-fas/mt940 (单位:千美元)](https://github.com/a-fas/mt940js)。最初灵感来自 [WoLpH/mt940 电话](https://github.com/WoLpH/mt940)。 。 。 .

## 常见问题

### @centrapay/swift-parser 是什么？

快速财务信息解析器\( MT940, MT942\)

### 如何安装 @centrapay/swift-parser？

在项目目录运行 npm install @centrapay/swift-parser，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 swift-parse，可以用 npx swift-parse 直接运行。

### @centrapay/swift-parser 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/centrapay\_\_swift-parser 是否存在。

### @centrapay/swift-parser 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @centrapay/swift-parser 可以商用吗？

@centrapay/swift-parser 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @centrapay/swift-parser 的下载量有多少？

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

### @centrapay/swift-parser 还在维护吗？

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

