从 QuickBooks Online 导出哪些文件
公司需要提供哪些 QuickBooks Online 报表和其他文件,Haruno 需要哪些导出设置,以及每个文件为月末结账增加了什么。
公司需要提供的文件
对于根据导出文件设置的公司,每次结账都需要两份 QuickBooks Online 报表:资产负债表(Balance Sheet)和利润表(Profit and Loss),均按权责发生制编制,导出为 Excel,并且每月一列。如果只有其中一份,结账就只能报告半套账目,因此两份不齐时,Haruno 不会起草科目映射(参见每家公司都需要的两份文件)。其他文件都是可选的,每一份都会增加一项检查、一个面板或一份报告。账簿来自 QuickBooks 的公司则改为通过“Sync”(同步)获得各月数据,在您添加的文件中只读取对账报告 PDF(参见QuickBooks 与公司的账簿)。Mac 版 Haruno 和 Windows 版 Haruno 读取的导出文件相同。
| 文件 | 是否必需 | 为结账增加的内容 |
|---|---|---|
| 资产负债表(Balance Sheet) | 是 | 月末余额:资产负债表、现金、营运资金、偿债能力迹象,以及对账时所核对的余额。 |
| 利润表(Profit and Loss) | 是 | 月度发生额:利润表、收入、毛利率,以及针对成本明显异常的月份提出的待确认事项。 |
| 现金流量表(Statement of Cash Flows) | 否 | 检查是否把借款列为经营活动现金流量(ASC 230),检查该报表自身的数字能否加总、是否与利润表一致,并按经营活动现金流量测算现金跑道。 |
| 试算平衡表(Trial Balance) | 否;只能与上述两张报表一同提供 | 检查总账借贷相抵后是否为零、是否有带余额的科目未列入报表,以及报表与试算平衡表是否一致。 |
| “Profit and Loss by Class”(按类别列示的利润表),每月一个文件 | 否 | 按部门列示的运营费用,并检查每个月按类别拆分的数字加总是否一致。 |
| “A/R Aging Detail”(应收账款账龄明细) | 否 | 将未结发票与应收账款余额进行核对。 |
| “A/P Aging Summary or Detail”(应付账款账龄汇总或明细) | 否 | 将欠供应商的款项与应付账款余额进行核对。 |
| “Transaction List by Vendor”(按供应商列示的交易清单) | 否 | 为有关预付款和大额费用的待确认事项提供依据,并与报表进行一项核对检查。 |
| “Recurring Template List”(定期交易模板列表) | 否 | 公司的定期交易,作为计划保存;列表中的内容不计入任何数字。 |
| 对账工作簿 | 否 | “Reconciliation”(对账)标签页:每张明细表都与其总账余额核对一致,精确到分。 |
| QuickBooks 对账报告(PDF) | 否 | 在对账单截止的那个月份已完成对账的银行或信用卡账户,无需对账工作簿。 |
| 预算(Budget) | 否 | 预算与实际对比。 |
| 经营数据(Operating inputs) | 否 | 按月列示的员工人数、新客户数和签约额。 |
| 按客户列示的收入(Revenue by customer) | 否 | 根据已确认的收入计算 MRR(月度经常性收入)、ARR(年度经常性收入)和客户流失率。 |
| Stripe 发票(CSV) | 否 | 根据已开具的发票计算 MRR、ARR 和客户流失率,并给出递延收入变动中的增加额和确认额。 |
| HubSpot 交易(CSV) | 否 | 签约额和新客户数。 |
在导入结果中以及文件的 Read as(识别为)按钮上,每个文件都以上表所列的名称显示,但以下几种除外:Stripe 发票显示为 Billing invoices(账单平台发票),HubSpot 交易显示为 CRM deals(CRM 交易),对账工作簿和对账报告显示为 Reconciliation(对账)。参见Read as(识别为)。
每月应索取的文件
当月账目最终确定后,可以把下面这份清单发给记账人员。每份报表都导出为 Excel;凡是可以选择核算基础的报表,都选权责发生制;对账报告是 PDF。
- 截至当月最后一天的资产负债表。
- 当月的利润表,该月单独成列。
- 如果您使用以下报表:本年初至今的现金流量表,按完整月份计算,截止于月末;截至月末的试算平衡表、“A/R Aging Detail”和“A/P Aging Summary”或“A/P Aging Detail”;当月的“Profit and Loss by Class”和“Transaction List by Vendor”。
- 如果公司维护对账工作簿:当月的对账工作簿,其目录工作表的日期在该月之内。
- 如果公司在 QuickBooks Online 中进行对账:当月每个银行账户和信用卡账户的对账报告,PDF 格式。
关键的导出设置
有八项设置决定 Haruno 能否完整、正确地读取 QuickBooks 导出文件。每一项都会体现在导出的文件本身中,因此真正需要确保正确的是文件。
| 设置 | 文件必须呈现的内容 | 设置有误时 |
|---|---|---|
| 核算基础 | 权责发生制,并在页脚中注明(Accrual Basis)。 | 结账会拒绝按收付实现制编制的资产负债表或利润表,并说明该文件是收付实现制导出文件,需要改按权责发生制重新生成。起草科目映射时不会发现这一问题。 |
| 列 | 利润表:每月一列。资产负债表:每个月末一列,或截至某个月末的一列。 | 按季度、跨月区间或本年初至今设列的利润表不会被导入。 |
| 文件格式 | Excel(.xlsx),保持 QuickBooks 导出时的原样。 | 如果是 CSV,计算行会被当作科目读取,小计则会丢失。 |
| 期间 | 截止于某月的最后一天;利润表还须从某月的第一天开始。 | 只覆盖月内部分日期的列会被跳过,并附上说明。日期早于所在月份最后一天的资产负债表不会被导入:较早的那一列会被略去并附上说明;如果没有其他日期列,该资产负债表会被拒绝,并说明应截至哪个月末重新生成。 |
| 货币 | 公司的报告货币。 | 起草时会被标出,结账时会被拒绝。 |
| 标题、页眉和页脚 | 使用 QuickBooks 的标准格式。 | 无法识别 Profit & Loss 或 P&L 这样的标题。没有页脚时,核算基础无从得知,文件仍会被接受。页脚中的生成日期,是 Haruno 得知某份导出文件在所属月份结束之前就已生成的依据;生成时间则是它得知同一报表的两份导出文件中哪一份较新的依据。 |
| 版式 | 各行展开,每一节以“Total for”合计行收尾。 | 比较列、上年列、变动列和百分比列会被跳过;只读取月份列。 |
| 科目编号 | 如公司同意则开启,并在首次起草之前决定。 | 此时会改为按科目名称查找现金,复核时会请您确认。 |
由于起草时不会发现按收付实现制编制的报表,请在起草之前查看每个文件的导入结果,核对期间、Accrual basis(权责发生制)以及是否出现币种代码(参见导入结果说明了什么):错误的文件在首次批准科目映射之前都可以移除,并且要先放弃尚未批准的草稿。此后,收付实现制报表会使结账停止;公司有了报告之后,您可以在公司页面的“Files”(文件)标签页中将其移除,在此之前,请发送邮件至 info@inferara.com 联系支持团队,注明公司名称和文件名(参见科目映射批准之后)。
货币
在 Company details(公司详细信息)中,将报告货币设为该公司 QuickBooks 报表所使用的货币;即使公司在 QuickBooks 中启用了多币种功能,也是如此(参见公司详细信息)。Haruno 不做任何换算:外币折算需要汇率和折算方法,这些应由贵机构决定。普通导出文件不注明货币,会被视为以报告货币列示。首次结账之后,货币就不能再更改。
使用 Excel,而不是 CSV
请将每份 QuickBooks 报表都导出为 Excel。QuickBooks 会在 Excel 文件中把每个小计和计算行(Gross Profit、Net Operating Income、Net Income)写成公式,草稿中的小计就直接取自这些公式。CSV 只保存数值,Haruno 无法区分计算行和科目。本来就是 CSV 格式的导出文件,例如 Stripe 发票和 HubSpot 交易,使用 CSV 即可。如果修改了 Excel 导出文件,请在 Excel 中保存,因为 Haruno 读取的是 Excel 存储的值,从不重新计算;科目金额背后带有公式的报表会被拒绝(参见隐藏工作表、公式和已去除的值)。
科目编号
QuickBooks Online 可以在每个科目名称前加上编号,例如 1010 Checking,但除非有人开启,编号默认是关闭的。对于新公司,如果负责记账的人同意,请在首次起草之前开启编号,并且此后保持这一设置不变:之后再切换,每个科目显示的名称都会改变,科目映射也就无法再识别这些科目。编号在四个方面起作用:
- 现金:有科目编号时,草稿会按完整编号列出每个现金科目,只有编号以所列编号开头的科目才算作现金。没有编号时,会从资产负债表中名称含 cash 或 bank 的报表项目下的科目读取现金,复核时会请您确认这些科目。
- 科目改名:带编号的科目改名后仍归入原来的报表项目。没有编号的科目靠完整名称识别,一旦改名,就会作为新科目出现。
- 现金流量表:只有名称以编号开头的行才会被当作科目读取,因此借款分类检查离不开编号。
- 对账工作簿:每个工作表都按其名称开头的编号与对应的总账科目匹配。
资产负债表
资产负债表的日期应为您要结账的那个月的最后一天:按更早的某一天(例如 9 月 28 日)生成的资产负债表不会被导入。新公司的第一份导出文件应覆盖您需要的全部历史期间,每个月末一列;此后,截至月末的一列就足够了。
- 在 QuickBooks Online 中打开标准的“Balance Sheet”(资产负债表),不要打开“Balance Sheet Detail”(资产负债表明细),也不要打开按类别或地点划分的版本。
- 截止日期设为您要结账的那个月的最后一天;如果是新公司,从您需要的第一个月开始。
- 选择权责发生制,保持所有行展开,不要添加比较列或百分比列。
- 导出为 Excel,并保留页眉和页脚。
文件的格式要求
| 部分 | Haruno 的要求 | 示例 |
|---|---|---|
| 标题 | 公司名称下方为 Balance Sheet | Larkspur Systems Inc / Balance Sheet |
| 日期和列 | 一列(列标题通常为 Total),上方的 As of 日期为某月的最后一天;或者每个月末一列 | As of June 30, 2026;或 Jan 2026、Feb 2026 |
| 分节 | 每一节都以其“Total for”合计行收尾,并保留流动和长期两类分节:营运资金和流动比率取自这些分节的小计 | Total for Current Assets |
| 页脚 | 核算基础和报表生成时间 | Accrual Basis Tuesday, August 18, 2026 09:46 PM GMT-07:00 |
需要提供多长的历史期间
现金消耗、现金跑道和回款都按相邻两个月末之间的变化计算,因此只有单一日期的资产负债表,在后续月份的数据到来之前,无法得出其中任何一项。有四个月末的数据,现金跑道所用的三个月平均值才有完整的计算区间。利润表涵盖、而资产负债表未涵盖的月份会被报出但不会被锁定;草稿会在“Needs your attention”(需要您关注)下就此发出警告,并指出需要导出哪一份文件才能包含该月份。参见现金与现金跑道和回款。
利润表
按月导出利润表,截至最近一个已结束的月份:新公司从您希望纳入 Haruno 的第一个月开始导出;此后每次导出刚结束的那个月,同样单独成列。
- 在 QuickBooks Online 中打开标准的“Profit and Loss”(利润表),不要打开“Profit and Loss Detail”(利润表明细),也不要打开按类别、客户或地点划分的版本。
- 将日期范围设为完整的月份:从第一个月的第一天到最近一个已结束月份的最后一天。
- 按月设列,即使只有一个月也是如此,这样每一列的列标题都会写明所属的月份。
- 选择权责发生制,保持所有行展开,不要添加比较列、上期列或百分比列。
- 导出为 Excel,并保留页眉和页脚。
文件的格式要求
| 部分 | Haruno 的要求 | 示例 |
|---|---|---|
| 标题 | 公司名称下方为 Profit and Loss、Income Statement 或 Statement of Operations,再下方为期间 | Larkspur Systems Inc / Profit and Loss / January-March, 2026 |
| 列 | 每月一列,列标题为月份或月末日期;Total 列会被忽略 | Jan 2026、Feb 2026、Mar 2026、Total |
| 分节和页脚 | 各节以“Total for”合计行收尾,计算行保留为 QuickBooks 的公式,并有注明核算基础的页脚 | Total for Income、Gross Profit、Net Income |
利润表被拒绝时
以下利润表不会被导入:按季度或跨月区间设列的;只有一列本年初至今数字的;各列日期相隔超过一个月的;或者标题为日期区间(例如 September 1-30, 2026)且只有一列的。如果还有另一份草稿能够读取的利润表,这份文件会列在 Needs your attention(需要您关注)下,显示为“‹file› was not imported: …”(‹file› 未导入:……),其原因以“…this importer will not guess which period the figures belong to”(……导入程序不会猜测这些数字属于哪个期间)或“…Re-export it one month per column.”(……请按每月一列重新导出。)结尾。如果它是唯一的利润表,Draft the mapping(起草科目映射)会一直不可用;设置页面上该文件所在的行会给出其中大多数情况的原因,但标题为日期区间的单列利润表除外。无论哪种情况,都请按每月一列重新导出。只覆盖某月部分日期的列会被跳过并附上说明,其他月份照常导入:“the Profit and Loss column 'Sep 1-23 2026' covers only part of September 2026, so its figures are not imported — once the month has ended, export the report again through September 30 to include it”(利润表的“Sep 1-23 2026”列只覆盖 2026 年 9 月的一部分,因此其数字未导入——该月结束后,请重新导出截至 9 月 30 日的报表,以纳入这些数字)。
旧版格式以 Total Income 而不是 Total for Income 收尾各节,这样的文件可能被导入,但读取结果有误:Check and confirm(检查并确认)下会出现一些行,说明某一节“is never closed by a total row”(从未以合计行收尾)。如果出现这种情况,请不要批准这份草稿:放弃草稿,移除该文件,然后添加一份按 QuickBooks Online 现行版式导出的利润表(参见已起草但尚未批准科目映射时)。其他被拒绝的情况(包括指明出错单元格的情况),参见Haruno 拒绝或跳过的文件。
其他 QuickBooks 报表
另有七份 QuickBooks Online 报表可以增加检查、面板或明细表,都不是必需的。请将每份报表导出为 Excel,保留 QuickBooks 的标准标题和列,截止日期与资产负债表为同一个月末;在添加名称相近的报表之前,请先查看Haruno 不读取的报表。每项检查检验的内容,参见发现事项与检查项。对账报告是例外:它是 PDF(参见对账报告)。
现金流量表
请提供本年初至今的现金流量表,以一列覆盖完整的月份。根据 ASC 230,借款所得属于筹资活动:如果某笔借款在 QuickBooks 中被设为流动负债类型,QuickBooks 会把它的变动归入经营活动,这时 Haruno 会报告 cash_flow_classification,并给出更正后的经营活动现金流量。它自身的加总以及净利润也会被检查:cash_flow_section_does_not_foot、cash_flow_does_not_roll 和 cash_flow_disagrees_with_profit_and_loss。现金流量表还可用于按经营活动现金流量测算现金跑道(参见偿债能力与持续经营)。
- 只有一列数字(只保留合计列),期间只写在标题中,且为完整的月份,例如 January - June, 2026、Jan-Mar 2026、September 2026 或 January 1-June 30, 2026。起始或截止于月中的标题(例如 January 1-September 23, 2026)会被拒绝:“…which is not whole months. Export it again from the first day of a month to the last day of a month.”(……这不是完整的月份。请重新导出,期间从某月的第一天到某月的最后一天。)
- 各行分列在经营、投资和筹资活动之下,行名称中带有科目编号,以便借款分类检查逐个科目进行检验。
Haruno 以期间截止最晚的那份现金流量表的整个期间计量经营活动现金流量,因此本年初至今的报表比单月报表得出的月度现金消耗更平稳。如果两份报表截止于同一天,Haruno 使用开始日期较晚的那份,因此不要另外再提供单月的现金流量表。期间相同的新报表会取代先前的那份;如果其中的数字有所不同,该期间内每个已锁定的月份都需要重新开启。被拒绝的格式会显示“…presents 3 columns of cash flows; this reader handles the single-column form the platform exports”(……列示了 3 列现金流量;本读取程序只处理平台导出的单列格式)或“…states its period as '…', which does not read as a span …”(……所写的期间为“…”,无法识别为一段期间……)。它的导入结果不显示核算基础,因为 QuickBooks 不在这份报表的页脚中注明核算基础。
试算平衡表
一份平衡的资产负债表,可能出自一本并不平衡的总账。试算平衡表用于 trial_balance_unbalanced、trial_balance_account_unpresented 和 statement_disagrees_with_trial_balance 这三项检查,但只有与资产负债表和利润表一同提供时才起作用:请在同一时间生成这三份报表,使它们彼此一致。同一日期的试算平衡表,后提供的会取代先提供的。
- 标题为 Trial Balance,As of 日期为某月的最后一天。其他日期的试算平衡表会被导入并附上说明,但无法用于比较。
- 只有一列 Debit(借方)和一列 Credit(贷方),不按类别或地点拆分;TOTAL 行等于其上各行之和,精确到分。
- 按权责发生制编制(收付实现制的试算平衡表会被拒绝),每个工作表只放一份试算平衡表。
- 利润表请从会计年度开始时提供:只有当账簿中包含本会计年度截至试算平衡表日期的每一个月时,才会比较收入和费用科目;在此之前不运行这项比较,而不运行并不等于通过。
Profit and Loss by Class(按类别列示的利润表)
Haruno 把其中的类别当作部门读取,用于 Operating expense by department(按部门列示的运营费用)卡片;只有当 Haruno 识别出公司的运营费用小计时,这张卡片才会显示(参见运营费用:类别与部门)。它还会运行 class_total_disagrees 检查;如果类别报表是在一笔较晚的调整入账之前生成的,通常就会触发这项检查,因此请在该月账目最终确定后,与利润表一起导出。
- 每个文件一个月,标题中写明月份,例如 March 2026。覆盖多个月的标题会被拒绝,只写了日期的标题也会被拒绝:“Re-export it with the month in the title ('March 2026')”(请重新导出,并在标题中写明月份,如“March 2026”)。
- 保留 Total 列,它表明没有任何类别被筛除;每个类别名称只出现一次。未归入任何类别的支出(Not Specified)单独成行,从不分摊。
A/R Aging Detail(应收账款账龄明细)
在复核中通过 Receivable account(应收账款科目)指定应收账款科目后,每次结账都会将账龄表中的未结发票与该科目的余额核对,差额超过重要性水平时报告 aging_disagrees_with_balance;Haruno 从不猜测是哪个科目(参见应收账款)。请提供明细报表(Summary 汇总报表不列出发票,不会被使用),日期为资产负债表的月末,包含 Date、Customer、Due Date、Amount 和 Open Balance 列。日期为其他任何一天的账龄表都不会参与比较。
A/P Aging Summary 或 A/P Aging Detail(应付账款账龄汇总或明细)
在复核中通过 Payable account(应付账款科目)指定应付账款科目后,每次结账都会将账龄表中的未结余额与该科目的余额核对,差额超过重要性水平时报告 aging_disagrees_with_balance;Haruno 从不猜测是哪个科目(参见应收账款,其中以同样的方式说明了应收账款账龄表)。两份报表任选其一均可,日期为资产负债表的月末:Detail 明细报表包含 Date、Vendor、Due Date、Amount 和 Open Balance 列;Summary 汇总报表的账龄区间列以 Total 列收尾。日期为其他任何一天的账龄表都不会参与比较。
Transaction List by Vendor(按供应商列示的交易清单)
这份报表列出成本科目背后逐张发票的明细,Haruno 据此提出待确认事项:一笔大额费用(例如在付款时即计入费用的年度订阅费或保险费)所购买的服务期是否超出了当月,以及一张大额发票是否应在其覆盖的期间内分摊。这些是待确认事项,不是发现事项(参见待确认事项不是发现事项)。它还会运行 detail_disagrees_with_statement 检查。请按标题中写明的完整月份提供,例如 January - June, 2026,并包含 Date、Account、Split 和 Amount 列。
Recurring Template List(定期交易模板列表)
QuickBooks 的定期交易列表。草稿会说明找到了多少个模板,并注明“They are kept as schedules, and nothing on them is counted in the company's figures.”(它们作为计划保存,其中的任何内容都不会计入公司的数字。)只保留最新的一份导出文件。它需要 Template Name 和 Amount 列。
对账报告
QuickBooks Online 会把银行或信用卡账户的对账结果显示为一份“Reconciliation report”(对账报告),您可以将其打印为 PDF。Haruno 会把它读作该账户在对账单截止的那个月份的对账结果(参见Haruno 中“已核对一致”的含义)。每个账户、每份对账单请各提供一份 PDF。
- 必须显示账户和对账单日期,例如 1010 Checking, Period Ending 08/31/2026,然后是标题 RECONCILIATION REPORT 和 Summary。
- PDF 中是文字,而不是页面图片;没有密码保护;不超过 32 MB。
- 该账户必须已通过资产负债表进入账簿,并且账簿必须有对账单所在月份的余额;否则结账会显示“‹file› was not filed as a reconciliation: …”(‹file› 未作为对账存档:……),并在条件满足后读取该报告。如果有对账工作簿对同一账户、同一月份做了对账,则保留该工作簿的对账结果。
Haruno 不读取的报表
请不要把这些报表放进公司的文件。与账龄表和供应商报表相似的报表,Haruno 会显示为“Copied · Not used”(已复制 · 未使用),并说明它读取的是哪份报表:“An A/R Aging Summary lists no invoices, so none of them can be checked. To have them checked, export the A/R Aging Detail from QuickBooks and add it.”(A/R Aging Summary 不列出发票,因此无法检查其中任何一张。要检查这些发票,请从 QuickBooks 导出 A/R Aging Detail 并添加。)、“A Vendor Balance report is not read. What the company owes each supplier is read from QuickBooks’ A/P Aging Summary or A/P Aging Detail — export one of those and add it.”(不读取 Vendor Balance 报表。公司欠每家供应商的款项读取自 QuickBooks 的 A/P Aging Summary 或 A/P Aging Detail——请导出其中一份并添加。)或“Supplier activity is read only from QuickBooks’ Transaction List by Vendor. Export that report from QuickBooks and add it instead.”(供应商的往来只读取自 QuickBooks 的 Transaction List by Vendor。请从 QuickBooks 导出该报表并改为添加它。)Haruno 能读取、但发现缺少所需的列或缺少生成日期的报表,也以同样的方式显示,并附上原因。结账会跳过这些文件。拆分列示的报表会因其列结构而被拒绝;但 Detail 版报表可能会被当作标准报表本身读取。
| 报表 | 应改为提供 |
|---|---|
| A/R Aging Summary(应收账款账龄汇总) | A/R Aging Detail(应收账款账龄明细) |
| Vendor Balance Detail 或 Vendor Balance Summary | A/P Aging Summary 或 A/P Aging Detail(应付账款账龄汇总或明细) |
| Expenses by Vendor Summary、Purchases by Vendor Detail、Transaction List by Date | Transaction List by Vendor(按供应商列示的交易清单) |
| 按客户或地点划分的利润表(Profit and Loss by Customer / by Location)、按类别或地点划分的资产负债表(Balance Sheet by Class / by Location) | 未拆分的标准报表;如需部门数据,另加 Profit and Loss by Class |
| Profit and Loss Detail、Balance Sheet Detail | 标准报表 |
| 银行对账单 | 无需提供:Haruno 不导入银行对账单。请在 QuickBooks 中对该账户进行对账并提供其对账报告,或使用对账工作簿。 |
| 其他任何报表 | 无需提供。这类报表会被列为未识别,结账时会跳过它。 |
QuickBooks 以外的来源
QuickBooks 以外的六种来源可以补充总账中没有记录的信息。Haruno 根据版式识别每一种来源,因此关键在于下面所述的版式。
对账工作簿
贵机构为支持资产负债表科目而维护的工作簿:其中有一个名为 TOC 的目录工作表,日期在所对账的月份之内;每个科目一个工作表,工作表名称以科目编号开头,例如 1410 Prepaid Services。Haruno 将它标为 Reconciliation(对账)。请添加每个月的工作簿;版式要求参见对账工作簿。既没有对账工作簿、也没有对账报告时,结账仍会完成,但不会有任何科目与明细表核对(参见没有对账工作簿的公司)。
预算
提供预算后,就会显示预算与实际对比面板。超出预算从不产生发现事项(参见预算与实际对比)。
- 在第一个含有类别列的可见工作表中,类别列顶部有一个内容恰好为 Category 的单元格。
- 各月份横向排列在同一行,使用真正的 Excel 日期,或 2026-01-31 形式的文本。输入为 Jan 2026 的月份不会被读取。
- 每个类别的名称与其所预算的利润表项目名称完全一致。找不到对应项目的类别会产生 budget_line_unmatched。
经营数据
按月列示的员工人数、新客户数和签约额,用于员工人数相关指标和获客成本(参见员工人数和获客)。版式与预算相同,只是用内容为 Metric 的单元格代替 Category。预算、经营数据和按客户列示收入的工作表可以放在同一个工作簿中。Haruno 能识别的行:
- 员工人数:Headcount、Employees、Staff、FTE 或 FTEs、Full-time equivalents。
- 新客户:New customers、New clients、New logos、New accounts、Customer adds。
- 签约额:Bookings、New bookings、Closed won。其他行保留各自的名称。
按客户列示的收入
按客户和月份列示的已确认收入,用于计算 MRR、ARR 和客户流失率(参见经常性收入)。
- 宽表:左上角单元格的内容为 Customer,月份横向排列;或者长表:分别设 customer、month 和 amount 列(amount 列的标题也可以写作 revenue 或 recognized revenue)。
- 月份写作 2026-01-31、2026-01 或 January 2026。单独的 Jan 和 Jan-26 会被拒绝。
- 不设 Total 行或列,每个客户每月只有一个数字。空白单元格表示没有数字,而不是零。
Stripe 发票
Stripe 的发票导出文件可以根据已开具的发票(即已开票的收入,而不是已收回的现金)计算 MRR、ARR 和客户流失率,并把递延收入的变动拆分为增加额和确认额(参见经常性收入和递延收入滚动表)。
- 从 Stripe Dashboard 导出的发票 CSV。Haruno 自己的提示信息给出的路径是 Billing → Invoices → Export;Stripe 的菜单可能会变化。
- 包含 id、date (utc)、customer、currency 和 total 列,大小写不限。请保留 period start 和 period end 列,并添加 Subscription 列:只有同时具有订阅和服务期间的发票才算作经常性收入;其他任何带日期的发票都作为一次性收入计入其所在的月份,不计入任何 MRR 数字。如果根本没有 Subscription 列,带日期的发票所涉及的月份不显示 MRR,并且原因会提示带上该列重新导出。
- 金额按扣除税额后的数字计算:如果导出文件有扣除税额后的发票合计列,Haruno 就使用该列,否则使用 Total 减去 Tax。未结清或已支付的发票上,税额或扣除税额后的金额为空白或无法读取,会使结账拒绝整个文件,因此没有税额的发票请填 0:“…a blank is unknown, not zero. Nothing was written.”(……空白表示未知,而不是零。未写入任何内容。)草稿中针对该文件的说明会事先提示这一点。草稿、作废和无法收回的发票不计入任何数字。既没有扣除税额后的合计列、也没有 Tax 列的导出文件,按其 Total 读取。
- 日期格式为 2026-03-01 或 2026-03-01 12:34。使用其他日期格式的行不会被导入。对于未结清或已支付的发票,服务期间缺少一个日期、结束日期早于开始日期,或日期无法读取,都会使整个文件被拒绝。
- 只能使用报告货币。只要有一张发票使用其他货币,Haruno 就会拒绝整个文件。
HubSpot 交易
HubSpot 的交易导出文件(Haruno 的提示信息给出的路径是 CRM → Deals → Export)提供签约额和新客户数。交易不是收入,因此其中的任何内容都不会改变报表。文件需要包含 Record ID、Deal stage、Close date 和 Amount 列;赢单交易的阶段为 Closed won。如果您维护的某个工作簿也列有某月的新客户数,两者不一致时会产生 operating_count_disagrees。
设置公司时,请提供覆盖您所需全部历史期间的 Stripe 和 HubSpot 导出文件:之后的更新只有作为起草科目映射时所依据文件的带编号副本,才会被读取(参见设置完成后的账单与 CRM 导出文件)。
贵机构自己的财务资料包
如果贵机构用 Excel 维护月度财务资料包,其中有一个内容为 Data to Import 的单元格,以及一个映射区块,其标题单元格的内容以 MAPPING 结尾,Haruno 就会把它作为 Reporting package(财务资料包)读取,用来代替普通的 QuickBooks 导出文件,科目映射和小计都取自资料包自身的公式。一家公司只能用其中一种方式设置:起草时会拒绝两者混用。
您维护的工作簿
每个月请保持工作表名称不变。Haruno 按起草科目映射时的工作表名称查找工作簿的各个部分,因此修订后的预算只有沿用原来的名称才会被读取,而且是与先前的版本一并读取,而不是取而代之:如果两者都列有同一个月的数字,以较晚读取的文件为准,带编号的副本会在其所复制的文件之后读取。粘贴了报表的工作簿,其各工作表的核算基础和货币也必须一致,否则整个工作簿都不会被读取。隐藏工作表从不导入(参见隐藏工作表、公式和已去除的值)。
新公司的首批导出文件
每种报表各提供一份覆盖您所需全部历史期间的导出文件,再加上您将使用的每一个可选文件,全部截止于同一个月末。请从账目已经最终确定的月份着手:首次结账会锁定导出文件中每一个有资产负债表列报的月份,前提是该月已经结束(参见结账锁定)。可选文件请现在就提供,因为起草科目映射时没有依据的文件类型,要等到重新起草后才会被读取,而重新起草会取代您已记录的回答(参见起草科目映射后添加的文件)。
- 在“Company details”(公司详细信息)中设置公司的报告货币和会计年度截止月份。
在您批准科目映射之前,Haruno 会要求设置这两项(参见公司详细信息)。会计年度在其他月份结束,并不影响您要导出的内容。
- 如果负责记账的人同意,在 QuickBooks 中开启科目编号。
- 按月导出利润表,按月末导出资产负债表,期间从您需要的第一个月到最近一个已结束的月份。
- 导出同一期间的可选报表:覆盖整个期间的现金流量表,截至最后一个月末的试算平衡表、“A/R Aging Detail”(应收账款账龄明细)和“A/P Aging Summary”或“A/P Aging Detail”(应付账款账龄汇总或明细),覆盖整个期间的“Transaction List by Vendor”(按供应商列示的交易清单),以及每月一份“Profit and Loss by Class”(按类别列示的利润表)。
- 将文件添加到公司,然后起草科目映射。
在设置页面上,使用 Upload files(上传文件)或 Open a folder(打开文件夹),或者直接把文件拖放到页面上(参见添加数据),然后起草科目映射。
允许有两份利润表文件(例如去年的和今年的):草稿会采用截止月份最晚的那一份,并在说明中指出略去了哪一份,结账则会读取两份。整个期间只用一份报表仍然更简单。完整的首次结账流程,参见您的首次结账。
每个月
每个月在账目最终确定后,导出刚结束的那个月,把文件添加到公司,然后结账。新类型的文件要在重新起草科目映射之后才会被读取(参见起草科目映射后添加的文件)。
- 等到该月已经结束,且该月账目在 QuickBooks 中最终确定:银行对账已完成,调整分录已过账。Haruno 会读取 QuickBooks 在每个页脚中打印的生成日期;如果某个月的导出文件是在该月最后一天当天或之前生成的,该月会被报出但不会被锁定;结账时会说明这一点,并在您重新导出之后的第一次结账时将其锁定。
- 导出上文“每月应索取的文件”中列出的报表。
- 如有需要,可以按报表和月份重命名每个 Excel 文件,例如 Acme Profit and Loss 2026-09.xlsx。不要重命名 CSV 文件。
- 从“Portfolio”(投资组合)打开公司页面,然后添加文件。
选择 Books ▸ Import Exports…(账簿 ▸ 导入导出文件…),在 Upload company files(上传公司文件)窗口中选择文件,然后点击 Add files(添加文件)。该窗口只接受文件,不接受文件夹;公司的“Files”(文件)标签页则还接受文件夹或拖放的文件(参见科目映射建立后添加文件)。Windows 版 Haruno 没有“Books”(账簿)菜单:请在公司的“Files”(文件)标签页中添加文件。
- 查看结果。
Data added to(数据已添加到)对话框会列出每个文件,以及 Haruno 将它识别为哪一类。核对期间和核算基础,然后点击 Done(完成)。Windows 版 Haruno 在“Import results”(导入结果)下显示同样的列表。
- 为该月结账。
预检会列出自上次结账以来新添加的文件,并注明已锁定的月份,但这条说明不会阻止任何操作:结账只会拒绝会改变其中某个数字的文件。参见为下一个月结账。
同一文件名出现两次
QuickBooks 通常给同一报表的每次导出都使用相同的文件名。Haruno 从不替换文件:它会把新文件保存在旧文件旁边,并在文件名中加上编号(… Profit and Loss 2.xlsx),之后每次结账都会读取这两个文件。同一报表的两份导出文件,对于两者都包含的月份,以 QuickBooks 较晚生成的那份为准:Haruno 读取每份文件页脚中的生成时间,因此文件名不起决定作用。如果该报表的某份导出文件没有生成时间,则副本在原文件之后读取,并以副本中的数字为准。浏览器给文件名加上编号所生成的副本(例如 … (1).xlsx),也与应用自己生成的副本一样,在被复制的文件之后读取。按月份重命名 Excel 导出文件,可以在公司的文件列表和预检中把它们区分开;Haruno 根据文件内容识别报表,因此文件名不会改变它是哪一份报表。
期间重叠
每个月只导出一次。重复导出数字未变的月份不会造成影响。如果重复导出的月份数字有所不同:
- 已锁定的月份:结账会拒绝这项更改,并提供“Correct…”(更正…):把差额记在之后的某个月,或写明原因重新开启该月。重新开启之后,下一次结账会把每个变动的数字记录为重述。
- 尚未结账的月份:每次结账都会读取这两个文件,对于两个文件都包含的月份,以 QuickBooks 较晚生成的导出文件为准(参见“同一文件名出现两次”)。误添加的文件,在被某次结账读取之前,都可以移除(参见“移除文件”)。
QuickBooks 因某个科目当月没有发生额而未在报表中列出该科目时,Haruno 将其读取为零,这从不算作对已锁定月份的更改。参见重新开启月份和重述。
设置完成后的账单与 CRM 导出文件
科目映射会记住起草时所依据的 CSV 文件名。之后的 Stripe 或 HubSpot 导出文件,如果保存为该文件的带编号副本(… 2.csv,即文件名已被占用时 Haruno 给它取的名称),会在原文件之后读取,其中的发票或交易(deals)会替换先前具有相同 ID 的发票或交易。以任何其他名称保存的文件不会被读取:导入结果会显示“Copied · Not in the mapping”(已复制 · 不在科目映射中),结账结果也会将其列出:“No spec section claims invoices.csv; it was left where it is.”(spec 中没有任何部分对应 invoices.csv,该文件保留在原处。这里的 spec 即科目映射。)
QuickBooks 中的新科目
在您批准科目映射之后于 QuickBooks 中新增的科目,或在 QuickBooks 中改了名的无编号科目,导入时没有对应的报表项目,Haruno 会报告 unmapped_active_account。该发现事项上的“Resolve…”(解决…)会把该科目指向某个报表项目;重新起草整个科目映射也能安置该科目,但会取代您已记录的回答。QuickBooks 中出现新科目一节列出了具体步骤及其限制。