# @ekwo-ai/trial-balance 中文文档

规范地址：https://npmcn.com/package/%40ekwo-ai/trial-balance/

版本：0\.25\.2
npm 元数据更新时间：2026-11-13T14:09:49.392Z
中文译文更新时间：2026-11-13T18:09:17.968Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40ekwo-ai/trial-balance
原文对照：https://npmcn.com/package/%40ekwo-ai/trial-balance/?lang=original
项目主页：https://github.com/Ekwo-ai/ekwo-os/tree/main/packages/formats/trial-balance#readme
源码仓库：https://github.com/Ekwo-ai/ekwo-os

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

- 包体积（解压后）：63.9 kB，27 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=18
- 运行依赖：0 个
- 首次发布：2026-09-22T09:39:50.313Z
- 最新版本发布：2026-11-13T14:09:48.928Z
- 近 30 天下载量：3284（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 28 个）

## 中文简介

将 CSV 的试算表( 账户、 借记、 贷记) 读入平面形状。 在 TypeScript 中, 期初余额由: 金额作为十进制字符串, 以及不相加的部分组成。 零从属.

## 安装

```sh
npm install @ekwo-ai/trial-balance
```

也可以使用：`pnpm add @ekwo-ai/trial-balance`、`yarn add @ekwo-ai/trial-balance`、`bun add @ekwo-ai/trial-balance`

## README

# `@ekwo-ai/trial-balance`

读取 a **作为 CSV 编写的试算表** 每个账户一行,借项和 信用,或一个签名余额——入平面对象,在类型脚本中,无 依赖性.

每一个会计包和每个电子表格 都只有一件事 保存,这使得它的方式 从任何地方的书: 新书打开当天的余额.

```ts
import { readTrialBalance } from '@ekwo-ai/trial-balance';

const books = readTrialBalance(bytesOrString);

books.opening;    // [{ account: '512000', debit: '8400.00', credit: '0.00', contact: null, … }, …]
books.accounts;   // [{ code: '512000', name: 'Bank', type: null }, …]
books.contacts;   // the parties a receivable or a payable row names
books.violations; // [{ rule: 'unbalanced', message: '…', row: null }] when it does not balance
```

## 文件

一个头行,然后每个账户一行。 这些柱子是用它们的名字找到的, 不考虑案件,也不考虑 `*` 一些出口商品需要 栏:

| 栏 | 接受姓名 |  |
| --- | --- | --- |
| 账户 | `account`, (中文(简体) ), `account code`, (中文(简体) ), `code` | 所需经费 |
| 名称 | `name`, (中文(简体) ), `account name` | 选项 |
| 借记 -- -- 贷记 | `debit`, (中文(简体) ), `credit` | 两者,或 |
| 余额 | `balance` | 1个签入的余额,借方为正数 |
| 联系人 | `contact`, (中文(简体) ), `party` | 可选择:应收款行或应付款行的客户或供应商 |
| 联系人名称 | `contact name`, (中文(简体) ), `party name` | 选项 |
| 标签 | `label`, (中文(简体) ), `description` | 选项 |

-   借记一行 **财务报告和审定财务报表** 信用为: **净额**: 试算表打印 每方共计100个借方,30个贷方 借记。 一行的网到零 打开什么都没有,被忽略.
-   这个 **分隔符** 从标题中读取: `,`, (中文(简体) ), `;` 和标签 外头有引文 Fields可能被引用为RFC 4180所言.
-   这个 **小数标记** 是一个问题。 逗号只在文件中读取 被别的东西所分离, 在那里它不能成为 成千上万的分隔者。 没有 数千个分隔符,没有货币标志,没有解释: 每一个都被拒绝 而不是通过一种方式读取.
-   这个 **编码** 是UTF -8,致命的。 据说用拉丁文-1保存的文件是这样的 (单位:千美元)`{ encoding: 'iso-8859-1' }`从来没有猜到,因为每个顺序 其中的字节为有效的拉丁-1.

## 它的回报

所申报的形状 [`src/types.ts`](https://npmcn.com/package/%40ekwo-ai/trial-balance/src/types.ts) - 帐户、联系人, 条目、期初余额、违规情况——即实地、形状 该寄存处的会计导出每个读取器都自行声明. 试算表 `opening` 叶子 `entries` 空无相. 上面说不行 货币和无日期:文件没有,无论需要什么余额 告诉那天它打开.

没有平衡的东西又回来了 `violations`,这些行回来作为 写作。 什么是根本不是试算表——没有账户栏,借项 在余额一栏外的一栏中,不是一栏的金额被抛出 `BooksFileError` 带有 `code`。 。 。 .

## 旁边的开口物品

试算表说明应收款账户的持有情况;账龄余额 旁边印着谁欠它,哪个号码. `readOpenItems()` 阅读该清单,每张发票或信用证仍有一行:

```ts
import { readOpenItems } from '@ekwo-ai/trial-balance';

const { items, contacts, violations } = readOpenItems(bytesOrString);

items; // [{ type: 'sale_invoice', number: 'F2025-0412', contact: 'C0001', amount: '1200.00',
       //    documentDate: '2025-12-12', dueDate: '2026-01-11', paymentReference: '+++090/9337/55493+++', … }]
```

| 栏 | 接受姓名 |  |
| --- | --- | --- |
| 类型 | `type`, (中文(简体) ), `document type` | 要求: `sale_invoice`, (中文(简体) ), `sale_credit_note`, (中文(简体) ), `purchase_invoice` 或者说 `purchase_credit_note` |
| 编号 | `number`, (中文(简体) ), `document number`, (中文(简体) ), `invoice number` | 所需经费 |
| 联系人 | `contact`, (中文(简体) ), `party` | 需要: 以 |
| 联系人名称 | `contact name`, (中文(简体) ), `party name` | 选项 |
| 金额 | `amount`, (中文(简体) ), `open amount`, (中文(简体) ), `amount open` | 需要: 仍然开放的, 正态 —— 类型为侧 |
| 文件日期 | `document date`, (中文(简体) ), `issue date`, (中文(简体) ), `date` | 所需经费, `YYYY-MM-DD` |
| 应交日期 | `due date` | 可选的, `YYYY-MM-DD` |
| 付款参考 | `payment reference`, (中文(简体) ), `structured reference` | 选项 |
| 供应商参考 | `supplier reference` | 选项 |
| 标签 | `label`, (中文(简体) ), `description` | 选项 |

写一天 `YYYY-MM-DD` 而别无他法: 在一个海洋的两侧读取不同,被拒绝而不是被猜测. 缺少所需值的行会重新出现 `violations` 被抛弃; 未知类型、签名金额或非签名日期被抛出为 `BooksFileError`。分隔符、小数标记和编码为 余额.

## 何处去

它不知道账目表。 密码是文件写的 每一个图的帐号都是进口商的生意。 单位 [电子操作系统](https://github.com/Ekwo-ai/ekwo-os) 这是 `ekwo import trial-balance <file> --opening-date <day> [--open-items <file>]`,从何处 是一年中的第一年,或一年之内的一天 每个打开的项目都成为张贴的文档.

麻省理工学院.

## 常见问题

### @ekwo-ai/trial-balance 是什么？

将 CSV 的试算表\( 账户、 借记、 贷记\) 读入平面形状。 在 TypeScript 中, 期初余额由: 金额作为十进制字符串, 以及不相加的部分组成。 零从属\.

### 如何安装 @ekwo-ai/trial-balance？

在项目目录运行 npm install @ekwo-ai/trial-balance，或使用 pnpm add / yarn add / bun add。

### @ekwo-ai/trial-balance 支持 TypeScript 吗？

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

### @ekwo-ai/trial-balance 支持 ESM 还是 CommonJS？

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

### @ekwo-ai/trial-balance 需要什么版本的 Node\.js？

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

### @ekwo-ai/trial-balance 可以商用吗？

@ekwo-ai/trial-balance 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @ekwo-ai/trial-balance 的下载量有多少？

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

### @ekwo-ai/trial-balance 还在维护吗？

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

