@diy-accounting-uk/diya-gl

中文文档
1.2.79发布于 2026/11/12Apache-2.0ES Module构建来源已验证近 30 天下载 1.4万

从命令行重新计算、读取和写入 DIYA- GL 书籍

中文使用文档
文档目录11 节
  1. 安装
  2. 使用
  3. API 密码
  4. deriveVatReturn(book, lines, { periodEnd, periodStart?, per…
  5. deriveItsaQuarterlyUpdate(book, lines, { periodEndDate?, qu…
  6. deriveItsaAnnualSubmission(book, lines, { taxYear? })
  7. deriveUkPropertyPeriod(book, lines, { periodStartDate, peri…
  8. deriveUkPropertyAnnual(book, lines, { taxYear? })
  9. 格式
  10. 证明
  11. 许可证

@diy-acount-uk/diya-gl (英语)

管理英国唯一交易商或公司的账户 一本DIYA-GLTM书是一本 book.toml和一行.jsonl文件,通常为几千字节,持有一年的交易时间 以及他们寄入的账户图表。 这个软件包会重新计算一个,读取一个 Excel工作手册,写一个回 工作手册,服务一个超过 MCP,全部通过 同样的引擎 DIY 会计电子表格TM网站 在CI中调和.

4个产品:基础独行商、出租车司机、自营职业者、有限公司.

安装

npm install -g @diy-accounting-uk/diya-gl

与本乡人:

brew tap diy-accounting-uk/diya-gl
brew install diy-accounting-uk/diya-gl/diya-gl

或者从 GHCR 直接运行图像, 不安装 :

docker run --rm -v "$PWD":/data ghcr.io/diy-accounting-uk/diya-gl:latest \
  recalc --package bst --data /data/my-book --years se-2025-2026 --output-dir /data/out

使用

diya-gl recalc --package bst --data my-book --years se-2025-2026 --output-dir out
diya-gl read-workbook --file my-workbook.xlsx --output-dir out
diya-gl write-workbook --data my-book --output-dir out
diya-gl link my-book
diya-gl new-book --product se --name "Lark Lane" --year-end 2027-04-05 --output-dir lark-lane
diya-gl roll-forward --data my-book --output-dir next-year
diya-gl view my-book
diya-gl mcp

每个子命令也是自己的命令,如果你只想要一个在您的 PATH数字 : diya-gl-recalc, (中文(简体) ), diya-gl-read-workbook, (中文(简体) ), diya-gl-write-workbook, (中文(简体) ), diya-gl-link, (中文(简体) ), diya-gl-new-book, (中文(简体) ), diya-gl-roll-forward, (中文(简体) ), diya-gl-view, (中文(简体) ), diya-gl-mcp。 。 。 .

  • 重新计算c 取出一本书--data)或人口众多的工作手册(--source-dir, (中文(简体) ), --mode saved|recalculate)并写作 report.json:每个数字,报告部分和 遵守检查引擎计算.
  • 读取本 需要一个 .xlsx,包拉链,或 diya-gl拉链或 JSON 文件 (单位:千美元)--file),并写作 book.toml, (中文(简体) ), lines.jsonl, (中文(简体) ), report.json 财务报告和审定财务报表 bookchecks.json。 。 。 .
  • 写作手册 取出一本书--data 或者说 --file)并写出 Excel 将其产品编译成其模板的软件包 — 相同的客户端路径 DIYA- GL 页面使用,所以它不需要 LibreOffice. 添加 --zip 包作为一拉链.
  • 链接 取出一本书(目录与 book.toml 财务报告和审定财务报表 lines.jsonl-gl拉链或 diya-gl JSON文件)并打印 https://diya-gl.co.uk/<product>.html#book=<data> 链接 打开它,整个书 携带在碎片 所以没有上传. --base <url> 替换来源。 片段长度为Stderr,警告时间为64 KB(大约 2,000行),其中聊天,电子邮件和QR代码开始切断链接.
  • 新书 为新业务创建空书: --product (单位:千美元)bst, (中文(简体) ), se, (中文(简体) ), taxi 或者说 ltd, (中文(简体) ), --name 财务报告和审定财务报表 --year-end (YYYY-MM-DD), 附加 : --vat 增值税登记本人 受雇或公司书。 写着 book.toml (该产品的起始账户图表, 12个月至年底的12个月和该纳税年度的税率) lines.jsonl, (中文(简体) ), report.json 财务报告和审定财务报表 bookchecks.json 输入 --output-dir,默认情况下,当前目录. 答案是:我如何创办新企业的账本 或公司书从头开始, 哪些税率适用于第一年?
  • 向前滚 取出一本书(--data,来源与 链接)并写下一个 进入一年 --output-dir:一年终了时的税率,期末 余额为开口,仅持有开口分录的行(a公司开口) 日记账和每个银行账户一个带过来的行号;自雇簿的行号. 还有 book.toml, (中文(简体) ), lines.jsonl, (中文(简体) ), report.json 财务报告和审定财务报表 bookchecks.json 它写着 rollchecks.json,每个起始数字,新年的印数 与结束数字的印数 年份印出,当出现分歧时退出 1。 答案是: 我如何开始明年的书, 我去年带来了什么, 我的期初资产负债表是否同意最后 一年的结束?
  • 视图 使用与 链接,为全diya-gl页面服务 127.0.0.1 (单位:千美元)--port <number>,默认为自由端口),并在默认情况下打开该书 浏览器( e)--no-open 仅打印地址。 页面不在此包中: 本地 服务器从 https://diya-gl.co.uk (英语) 并缓存到 系统临时目录,每个软件包版本一个目录,所以第一次运行需要 network,然后运行同一版本的缓存再使用. --origin <url> 从 另一个网站。 书留在浏览器中(地址在 # 从未发送 随处可见). 服务器一直保持到Ctrl -C. 工作手册模板来自 网页动作第一次需要电子表格.diycolection.co.uk.
  • 微调 运行 stdio MCP 磁共振 拥有十个工具的服务器 : extract_book, (中文(简体) ), new_book (空书 新书 写作, roll_forward (下一个) 年份 向前滚 写作, report, (中文(简体) ), edit_lines, (中文(简体) ), save_workbook和四个读取每个细节 已装入的书 : lines (过滤器和分组每笔交易,例如最佳客户或支出) 6月为燃料, chart (每个帐户和报表行, book (业务, 期限、税务设置和登记册) checks (每本书都与条目核对) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}别在后面说 指向 MCP 客户端 diya-gl-mcp (或 diya-gl mcp),没有争论.

API 密码

套件根导出将一书转换成数字的五个函数 HMRC 的 MTD API 拿着 每个都取出解析本,其行和参数对象. 增值税和自营职业 函数返回承诺;两个英国财产函数直接返回答案. 无所出处:答案是请求体发送,加上什么喂食.

先装入一书 :

import { readFileSync } from "node:fs";
import { parse } from "smol-toml";

function loadBook(dir) {
  const book = parse(readFileSync(`${dir}/book.toml`, "utf8"));
  const lines = readFileSync(`${dir}/lines.jsonl`, "utf8")
    .split("\n")
    .filter(Boolean)
    .map((line) => JSON.parse(line));
  return { book, lines };
}

deriveVatReturn(book, lines, { periodEnd, periodStart?, periodKey? })

截止三个月期间的九个增值税返还箱 periodEnd (YYYY-MM-DD),从a 宣布的有限公司书 diya-gl:vatRegistered = true。 。 。 . periodStart,当给予, 必须开放该季度; periodKey 被反射回来。 答案带 boxes (框1为框9), hmrc (HMRC的字段名下的数字相同,框1至框5为一分钱,框6至框9为一分钱) 整个磅, months, (中文(简体) ), dueDate, (中文(简体) ), scheme,以及 lines: 框1、框4后面的日记行, 6和7,各自贡献多少。 与其增值税不符的书 拒绝接口.

import { deriveVatReturn } from "@diy-accounting-uk/diya-gl";

const { book, lines } = loadBook("my-company-book");
const answer = await deriveVatReturn(book, lines, { periodStart: "2025-07-01", periodEnd: "2025-09-30" });
console.log(answer.hmrc); // { vatDueSales, vatDueAcquisitions, totalVatDue, ..., totalAcquisitionsExVAT }

deriveItsaQuarterlyUpdate(book, lines, { periodEndDate?, quarterlyPeriodType?, taxYear? })

从《自营职业者手册》中摘取了HMRC的《自营职业者业务》。 2023年到2023年 2023年到2023年 2024-25年每个期间都有自己的数字;从2025-26年,每个期间都有连续的总数来自 4月6日 (英语). periodEndDate 在4年中选择一个时期;没有这个时期,每个时期都是 回答过. quarterlyPeriodType 实值 standard (4月6日季度,默认)或 calendar。 。 。 . taxYear (截至 2025-26)取代了书中日期所暗示的年份. 每期列出字段 该书无法在 omitted;那些被抛出身体, 从来没有发送为零.

import { deriveItsaQuarterlyUpdate } from "@diy-accounting-uk/diya-gl";

const { book, lines } = loadBook("my-self-employed-book");
const answer = await deriveItsaQuarterlyUpdate(book, lines, { periodEndDate: "2025-10-05" });
const [period] = answer.periods; // { periodDates, periodIncome, periodExpenses, ..., omitted, covers }

deriveItsaAnnualSubmission(book, lines, { taxYear? })

年度津贴和调整数 使用簿,仅限于该纳税年度的注册地. taxYear (截至 2025-26)取代了书中日期所暗示的年份. 答案带 allowances, (中文(简体) ), adjustments, (中文(简体) ), omitted 财务报告和审定财务报表 warnings。 。 。 .

import { deriveItsaAnnualSubmission } from "@diy-accounting-uk/diya-gl";

const { book, lines } = loadBook("my-self-employed-book");
const answer = await deriveItsaAnnualSubmission(book, lines, { taxYear: "2025-26" });
console.log(answer.allowances.annualInvestmentAllowance);

deriveUkPropertyPeriod(book, lines, { periodStartDate, periodEndDate })

HMRC的地产商业 API (UK地产) 从单行本上划出一段时期. 书的 图表名称 HMRC 字段 diya-gl:ukPropertyField 账户 (例如 "income.periodAmount" 在房租帐户上, "expenses.repairsAndMaintenance" 打开 修复账户。 该职能将这些账户上的销售和采购款项相加 在两个日期之间,包括增值税净额在内,并从其领域提取一个信用说明。 这个 回答带 income, (中文(简体) ), expenses, (中文(简体) ), omitted (没有播报的田地;没有播报的田地) 尸体,从不作为零, lines 财务报告和审定财务报表 warnings。一本书的名称 expenses.consolidatedExpenses 并且拒绝在同一期间的逐项开支,因为 HMRC服用一种或另一种.

import { deriveUkPropertyPeriod } from "@diy-accounting-uk/diya-gl";

const { book, lines } = loadBook("my-landlord-book");
const answer = deriveUkPropertyPeriod(book, lines, { periodStartDate: "2025-04-06", periodEndDate: "2025-07-05" });
console.log(answer.income.periodAmount, answer.expenses.repairsAndMaintenance);

deriveUkPropertyAnnual(book, lines, { taxYear? })

年度调整(balancingCharge, (中文(简体) ), privateUseAdjustment, (中文(简体) ), businessPremisesRenovationAllowanceBalancingCharges)和津贴annualInvestmentAllowance, (中文(简体) ), businessPremisesRenovationAllowance, (中文(简体) ), otherCapitalAllowance, (中文(简体) ), costOfReplacingDomesticItems, (中文(简体) ), zeroEmissionsCarAllowance从账户上公布的图表名称,为纳税年度 taxYear (截至 2025-26;默认为本作的期末倒入的年份). 财产 收入津贴, nonResidentLandlord 财务报告和审定财务报表 rentARoom.jointlyLet 选择和事实 房东,不是分类账数字;答案将它们列在下面 leftToPage。 。 。 .

格式

一本diya-gl书的字段取自XBRL全球编目分类学框架2015和 映射到HMRC的 SA103S 盒。 验证一本书的两个计划发表于 /schema/diya-gl-book-v2.schema.json 财务报告和审定财务报表 /schema/diya-gl-lines-v2.schema.json。 。 。 . 完整的实地测绘、检查目录以及背后的核对证据是: 编辑 格式谱页。 。 。 .

证明

这个软件包写的每本书都印有五张邮票:格式版本,这个软件包自己的 版本和承诺,在所应用的纳税年度数据上显示散列,以及每种产品的模板散列 和调节计分卡。 重新计算旧书 要么复制它 report.json 字节的字节或不同邮票的名称。 每一份公开的发行都从承诺中剪去 核对结果通过;计分卡在 调和的版本页面。 。 。 .

许可证

这个软件包根据Apache许可证2.0获得许可. 嵌入后,出船后再换. 见 LICENSE 财务报告和审定财务报表 NOTICE。 。 。 .

Diya-gl格式本身是一个开放的规格. 两个JSON斯克马是Apache -2.0和 格式文本是 CC BY 4.0,所以您可以在任何带有属性的文件中执行格式.

工作手册模板不属于此软件包. write-workbook 和多边协商进程 save_workbook 工具获取所需的模板 电子表格.diycoleaning.co.uk 他们第一次跑的时候, 打印术语,并缓存用于同一版本的后期运行。 这些模板是公司的 个人工作,根据多形式内部使用许可证1.0附加补助金: 拥有账户,或客户账户 如果你是会计师或记账员,不 重新分配它们.

该存放处不接受捐款.

版权(C)2006-2026 DIY 会计有限责任公司.

版本与发布记录

@diy-accounting-uk/diya-gl 共发布 89 个版本,首次发布于 2026/09/08;过去 12 个月发布了 89 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.2.79latest2026/11/12今天
1.2.782026/11/111 天前
1.2.772026/11/066 天前
1.2.762026/11/048 天前
1.2.752026/11/039 天前
1.2.742026/11/0210 天前

关于 @diy-accounting-uk/diya-gl 的常见问题

@diy-accounting-uk/diya-gl 是什么?

从命令行重新计算、读取和写入 DIYA- GL 书籍

如何安装 @diy-accounting-uk/diya-gl?

在项目目录运行 npm install @diy-accounting-uk/diya-gl,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 diya-gl、diya-gl-mcp、diya-gl-link、diya-gl-view、diya-gl-recalc、diya-gl-new-book、diya-gl-roll-forward、diya-gl-read-workbook、diya-gl-write-workbook,可以用 npx diya-gl 直接运行。

@diy-accounting-uk/diya-gl 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/diy-accounting-uk__diya-gl 是否存在。

@diy-accounting-uk/diya-gl 支持 ESM 还是 CommonJS?

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

@diy-accounting-uk/diya-gl 需要什么版本的 Node.js?

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

@diy-accounting-uk/diya-gl 可以商用吗?

@diy-accounting-uk/diya-gl 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@diy-accounting-uk/diya-gl 的下载量有多少?

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

@diy-accounting-uk/diya-gl 还在维护吗?

最新版本 1.2.79 发布于 2026/11/12(今天);至今共发布 89 个版本,其中过去 12 个月发布了 89 个;首次发布于 2026/09/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。