@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 会计有限责任公司.