payroll-prep

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Payroll Prep

薪资准备

Get the hours right before anyone gets paid.
Payroll is the finance workflow with the least room for error. A wrong invoice gets corrected next week. A wrong paycheck is a person who cannot cover rent, and it is the fastest way for an owner to lose a crew. Everything in this skill is built around that asymmetry: the machine assembles and checks, the owner decides.
发薪前先核对清楚工时。
薪资是容错空间最小的财务流程。发票开错了下周还能改,但工资发错了会导致员工付不起房租,也是企业所有者流失团队最快的原因。本技能的所有设计都围绕这种不对等性:由系统完成信息汇总与核查,由企业所有者做最终决策。

Step 1 — Fix the period before anything else

步骤1 — 先确认付薪周期

Confirm the pay period start and end dates, the pay date, and who is in this run. Getting the period wrong duplicates or skips a week of someone's pay, and it is a surprisingly easy mistake when a period straddles a month end.
Confirm the roster too: new hires who started mid-period, anyone terminated, anyone on leave. See
reference/timesheet_intake.md
.
确认付薪周期的起止日期、发薪日,以及本次薪资发放包含的人员。周期设置错误会导致员工薪资重复发放或漏发一周,而当付薪周期跨月末时,这种错误极易发生。
同时确认员工名册:期中入职的新员工、已离职人员、休假人员。参见
reference/timesheet_intake.md
。

Step 2 — Pull the timesheets

步骤2 — 拉取考勤表

With Gusto connected, first ask Gusto itself what stands in the way: call its payroll-blockers check (
list_payroll_blockers
) before building anything. If blockers come back, translate each into plain English — what it means, who fixes it, and where. For example: "check payments unsupported" means this company pays by paper check, which the integration cannot stage, so the owner runs that part in Gusto directly; "bank account not connected via Plaid" means the owner connects the bank in Gusto's settings; "hourly employees unsupported" can block at the account level even when this run is salaried-only. Blockers are a routing signal, not a failure — the run still gets built and validated here, and the deliverable becomes the run sheet with the blocker list riding along.
Then pull the period's inputs, each from its own tool. Hours:
list_time_records
for the pay period; read its
source
field before anything else.
native
returns shifts with clock-in, clock-out, and breaks;
third_party
returns timesheets from the company's time-tracking partner, and
get_time_sheet
gives the per-day line items for any one of them (it refuses native shift ids);
none
means Gusto holds no hours for this company, so the spreadsheet path below supplies them. Leave:
list_time_off_requests
for the period with
status: approved
— every approved day is paid as PTO or sick, never as worked, and a pending request is a flag, not a paid day. Balances:
get_time_off_balances
, which is what the "PTO beyond available balance" check in Step 4 reads against. Rates and classifications: the roster from
list_employees
with each person's compensations. Rates come from Gusto, never from a timesheet. Call shapes for these are in
../../shared/connector-call-shapes.md
.
A missing punch the owner can fill. When Step 4 flags a shift with no clock-out and the owner gives the real times,
record_time
writes them — only the times the owner stated, shown to them first, and as an
update
of the existing shift rather than a second entry. The parameters that refuse if missing (timezone, job on Gusto's own tracking, which id counts as the shift) and the one re-read trap (a contractor's confirmed hours come back with blank clock times; do not write again) are in the
record_time
row of
../../shared/connector-call-shapes.md
. Read that row before the call. This is the only way the skill ever changes a punch; an assumed time is never written.
Then prove the source is returning its data before anything is staged. Pull the roster (
list_employees
) and the schedules (
list_pay_schedules
). A company that reports a headcount while either list comes back empty, or a blockers call that errors instead of answering, is a payroll source that is connected but not delivering. Stop the staging path, say so in one line ("Gusto is connected but returned no employees or pay schedules, so I cannot stage a run against it"), and offer the spreadsheet path below. Never build a run from an empty roster, and never treat a green connection badge as proof the data is there.
With QuickBooks Payroll connected, pull the same fields from there. Two different failures look alike here, and the owner hears them differently. An empty source (Gusto's lists come back with no rows on a company that reports a headcount) is a data gap: say so and use the run sheet. A self-contradicting source is a tool defect:
qbo_payroll_get_company_payroll_readiness
answering
has_employees: false
and
run_payroll_ready: false
while
qbo_payroll_get_employees
on the same company returns a
total_count
of 50 cannot both be true. This is independent of how much data the company has. When that happens, use the employee list for the roster (it is the call that returned rows), do not stage a run while readiness says not ready, and say both numbers to the owner in one line so the contradiction is on record rather than hidden behind "not ready." Then take the spreadsheet path below with that roster: a validated run sheet the owner keys into QuickBooks Payroll is the outcome, the same as for an empty source. This is a first-class source, not a fallback. It carries the full employee roster with pay type, rate and frequency, employment status, and PTO policy balances; the pay schedule and its frequency; and the last completed run with per-employee gross pay, hours, and the tax lines. Where hours came from a timesheet the record says so, which is what the anomaly checks in Step 4 need.
Two cautions specific to this source. Employees carry an employment status separate from an active flag, so someone marked active can still be not-on-payroll or on paid leave; read both before putting anyone in the run. And a single employee can hold a dozen or more pay rates, most sitting at zero hours, so total from the rate that actually has hours against it rather than the first rate listed.
Without either, take an uploaded spreadsheet or CSV. This is a fully supported path — a validated run sheet the owner keys into their payroll provider is a complete outcome. Many small crews still run on a paper timesheet photographed at the end of the week, and that works too.
Normalize into one row per person per day: date, in, out, break, regular hours, overtime hours, PTO, and the job or class if the business tracks labor to jobs.
已连接Gusto的情况下,首先向Gusto查询存在的阻碍:在构建任何内容之前,调用薪资阻碍检查接口(
list_payroll_blockers
)。如果返回了阻碍项,将每一项都翻译成通俗易懂的说明——含义是什么、由谁解决、在哪里解决。例如:“不支持支票支付”意味着该公司使用纸质支票发薪,集成无法自动处理这部分,因此需要所有者直接在Gusto中操作;“未通过Plaid连接银行账户”意味着所有者需要在Gusto的设置中绑定银行账户;“不支持小时工”即使本次发放仅针对受薪员工,也可能在账户层面造成阻碍。阻碍项是流程分流的信号,而非失败——薪资单仍会在此处构建和验证,最终交付物会附带阻碍项列表。
然后从对应工具拉取本周期的输入数据。工时: 调用
list_time_records
获取付薪周期的工时记录;首先读取其
source
字段。
native
表示返回的是包含打卡上班、打卡下班和休息时间的班次记录;
third_party
表示返回的是来自公司考勤合作伙伴的考勤表,可通过
get_time_sheet
获取任意一条记录的每日明细(该接口不支持原生班次ID);
none
表示Gusto中没有该公司的工时数据,因此需要通过下方的电子表格路径提供。休假: 调用
list_time_off_requests
获取周期内状态为
approved
的休假申请——每笔已批准的休假日都按PTO或病假计发薪资,不计入工作时长;待审批的申请仅作为异常标记,不计为带薪日。余额: 调用
get_time_off_balances
获取休假余额,用于步骤4中“PTO超出可用余额”的检查。费率与分类: 从
list_employees
获取员工名册及每个人的薪酬信息。薪资费率以Gusto数据为准,绝不以考勤表为准。这些接口的调用格式参见
../../shared/connector-call-shapes.md
。
所有者可补填缺失的打卡记录。 当步骤4标记某个班次缺少下班打卡,且所有者提供了实际时间时,通过
record_time
写入——仅写入所有者明确告知的时间,且写入前需先向所有者确认,操作方式为对现有班次执行
update
,而非新增一条记录。缺少时会调用失败的参数(时区、Gusto自带考勤中的职位、对应的班次ID)以及一个回读陷阱(承包商的已确认工时返回时打卡时间为空,请勿重复写入)都记录在
../../shared/connector-call-shapes.md
的
record_time
行中。调用前请先阅读该行内容。这是本技能唯一允许修改打卡记录的方式;绝不写入假设的时间。
在整理任何内容之前,先验证数据源是否正常返回数据。 拉取员工名册(
list_employees
)和付薪计划(
list_pay_schedules
)。如果公司申报了员工人数,但上述任一列表返回为空,或者阻碍项调用报错而非返回结果,说明薪资数据源已连接但无法正常提供数据。此时应停止整理流程,用一句话说明情况(“Gusto已连接,但未返回任何员工或付薪计划数据,因此无法基于它整理薪资单”),并提供下方的电子表格方案。绝不要基于空的员工名册构建薪资单,也绝不要将绿色的连接标识当作数据存在的证明。
已连接QuickBooks Payroll的情况下,从该平台拉取相同的字段。这里有两种不同的故障表现相似,但对所有者的意义不同。空数据源(公司申报了员工人数,但Gusto的列表返回零行)属于数据缺口:说明情况并使用薪资单方案。自相矛盾的数据源属于工具缺陷:
qbo_payroll_get_company_payroll_readiness
返回
has_employees: false
和
run_payroll_ready: false
,但同一公司的
qbo_payroll_get_employees
却返回
total_count
为50,这两者不可能同时成立。这与公司实际有多少数据无关。出现这种情况时,使用员工列表作为名册(因为这个调用返回了数据),在就绪状态显示未就绪时不要整理薪资单,并将两个数字一并告知所有者,让矛盾被记录下来,而非隐藏在“未就绪”的说法背后。然后基于该名册使用下方的电子表格方案:最终交付所有者可手动录入QuickBooks Payroll的经验证薪资单,与空数据源的处理方式相同。QuickBooks Payroll是一级数据源,而非备用方案。它包含完整的员工名册,涵盖薪酬类型、费率、发放频率、雇佣状态和PTO政策余额;付薪计划及其频率;以及上一次完成的发放记录,包含每位员工的毛薪、工时和税项。如果工时来自考勤表,记录中会明确标注,这是步骤4中异常检查所需的信息。
针对该数据源有两点特别注意事项。员工的雇佣状态与活跃标识是分开的,因此标记为活跃的员工仍可能不在薪资发放范围内或处于带薪休假状态;将任何人纳入发放范围前都要同时检查这两个字段。此外,单个员工可能有十几个甚至更多的薪资费率,其中大多数对应的工时为零,因此应基于实际产生工时的费率计算总额,而非使用列表中第一个费率。
未连接上述任何平台的情况下,使用上传的电子表格或CSV文件。这是完全受支持的方案——所有者将经验证的薪资单手动录入其薪资服务商系统,就是完整的交付结果。许多小型团队仍在使用周末拍照的纸质考勤表,这种方式也完全可行。
将数据标准化为每人每天一行的格式:日期、上班时间、下班时间、休息时长、正常工时、加班工时、PTO,以及如果企业按项目核算人工成本的话,还要包含项目或类别。

Step 3 — Total the hours

步骤3 — 统计工时

Compute regular, overtime, double time, PTO, holiday, and unpaid time per person, then per crew, then for the run.
Overtime rules vary by state and by how the business classifies people, and getting them wrong underpays someone. Use the owner's stated rule, and when there isn't one, use the plain weekly-overtime default and say which rule you applied.
reference/anomaly_rules.md
covers the calculation edges — mid-week rate changes, multi-job days, and shifts crossing midnight.
Never fill a missing punch with an assumed time. A shift with a clock-in and no clock-out has unknown hours, and unknown hours is what gets reported.
分别按个人、团队、整个发放批次统计正常工时、加班工时、双倍工时、PTO、节假日工时和无薪工时。
加班规则因所在州和企业对员工的分类而异,规则用错会导致员工薪资少发。应使用所有者明确说明的规则,如果没有指定规则,则使用默认的周加班规则,并告知所有者应用了哪条规则。
reference/anomaly_rules.md
涵盖了计算的边界情况——周中费率变化、一天内参与多个项目、班次跨午夜等。
绝不要用假设的时间补填缺失的打卡记录。 只有上班打卡没有下班打卡的班次属于工时未知,应如实报告工时未知。

Step 4 — Flag every anomaly

步骤4 — 标记所有异常

This is the core of the skill. Run the full check in
reference/anomaly_rules.md
and surface everything it finds, each with the person's name, the date, and what specifically looks wrong:
  • Missing punches and shifts with no clock-out
  • Overtime above this person's normal pattern, with both numbers
  • Zero hours for someone who normally works
  • Hours well above what the schedule called for
  • Rate changes since the last run
  • Duplicate or overlapping entries
  • PTO taken beyond the available balance
  • Someone paid last period who is missing from this one
  • A new person appearing with no hire record
Flags go to the owner. They never get silently corrected. A missed punch has a real answer that only the employee and the owner know, and a plausible guess in the middle of that becomes a wrong paycheck that looks correct on the report.
这是本技能的核心。执行
reference/anomaly_rules.md
中的全部检查,并将所有发现的问题都展示出来,每条异常都要包含员工姓名、日期以及具体的问题:
  • 漏打卡以及缺少下班打卡的班次
  • 加班时长超出该员工的常规水平,同时展示常规值和当前值
  • 正常出勤的员工工时为零
  • 工时远高于排班计划
  • 自上次发放以来薪资费率发生变化
  • 重复或重叠的记录
  • PTO使用超出可用余额
  • 上次发放薪资的员工本次不在发放范围内
  • 出现无入职记录的新员工
异常标记仅提交给所有者,绝不会被自动修正。 漏打卡的真实情况只有员工和所有者知道,看似合理的猜测可能导致工资发错,却在报告上看起来一切正常。

Step 5 — Show the run before approving it

步骤5 — 审批前展示薪资单

Present the run sheet: person by person, hours by type, gross pay, and every flag attached to the person it belongs to. Then the totals — total hours, total gross, employer taxes and contributions if available, total cash needed, and the pay date.
Compare against the prior period and explain any move over 10%. A payroll that jumped USD 4,000 has a reason, and the owner should hear it from this skill rather than find it in the bank balance.
If cash data is available, say whether the run clears. If it is not available, say that plainly instead of implying it is fine.
展示薪资单:按人员分列,展示各类工时、毛薪,以及该员工对应的所有异常标记。然后展示总计数据——总工时、总毛薪、雇主税费和缴款(如有)、所需总资金,以及发薪日。
与上一周期进行对比,任何变动超过10%的项目都要说明原因。薪资总额上涨4000美元必有原因,所有者应该从本技能这里得知,而非从银行余额中发现。
如果有现金数据,说明本次薪资发放是否有足够资金。如果没有现金数据,直接如实说明,不要暗示资金充足。

Step 6 — Resolve the flags, one at a time

步骤6 — 逐一解决异常标记

Walk the owner through each flag. For each: what was found, what it would mean if left as is, and what they want done. Record the answer and apply it.
Do not batch flags into a single "looks good?" question. Each one is a person's pay.
引导所有者逐一处理每个异常标记。每个异常都要说明:发现了什么问题、如果不处理会有什么影响、以及所有者希望如何处理。记录答案并执行相应操作。
不要把所有异常打包成一句“没问题吧?”来询问。每一条异常都关系到员工的薪资。

Step 7 — The approval gate

步骤7 — 审批关卡

Nothing stages until the owner explicitly approves the run.
State plainly before asking: number of people, total hours, total gross, total cash leaving the account, the pay date, and the count of any flags they chose to leave open.
Then ask. An owner who wants to skip this gate should be told, once and without lecturing, that it stays because a wrong run is not something they can take back after direct deposit lands.
With Gusto connected, stage the run: find the unprocessed payroll with
list_payrolls
filtered to
processing_statuses: unprocessed
and an
end_date
a few weeks ahead (its date filter is on the pay period, and a bare call can miss a period that has not ended yet), take the one with the nearest check date, read it with
get_payroll
, then write the approved hours, PTO, and any bonus lines with
update_payroll
. Two shapes matter and both are in
../../shared/connector-call-shapes.md
: values replace rather than add, so "give Maria five more hours" means sending her new total, shown to the owner as "40 → 45" first; and a payroll whose roster is not yet materialized takes one empty
update_payroll
call to populate it before the real one. Leave
run_payroll
alone — that is the owner's button, in Gusto. With QuickBooks Payroll connected, the connector holds the reads (roster, rates, schedules, readiness, last run) and no run-staging write, so the outcome there is the validated run sheet the owner keys in; that is what the connector holds today, not a lesser path. The owner submits it in either system. With neither, produce the validated run sheet for manual entry. If Gusto's blockers from Step 2 prevent staging through the connection, the validated run sheet plus the plain-English blocker list is the outcome — say so without treating it as a failure.
在所有者明确批准发放之前,不得整理任何待发放的薪资数据。
询问前要明确说明:发放人数、总工时、总毛薪、账户转出总金额、发薪日,以及所有者选择保留的未解决异常数量。
然后再请求审批。如果所有者想跳过这个关卡,只需告知一次(不要说教):审批关卡必须保留,因为一旦直接存款到账,发错的薪资就无法收回了。
已连接Gusto的情况下,整理待发放薪资:调用
list_payrolls
,筛选
processing_statuses: unprocessed
且
end_date
在未来几周内的未处理薪资(其日期筛选是基于付薪周期的,直接调用可能会漏掉尚未结束的周期),选择支票日期最近的那一笔,用
get_payroll
读取详情,然后通过
update_payroll
写入已批准的工时、PTO和任何奖金项。有两个要点需要注意,都记录在
../../shared/connector-call-shapes.md
中:值是替换而非追加,因此“给Maria再加5小时”意味着发送她的新总工时,且要先向所有者展示“40 → 45”;如果薪资单的员工名册尚未初始化,需要先调用一次空的
update_payroll
来填充名册,然后再写入实际数据。不要碰
run_payroll
——那是所有者在Gusto中操作的按钮。已连接QuickBooks Payroll的情况下,连接器仅支持读取(名册、费率、计划、就绪状态、上次发放记录),不支持写入待发放薪资,因此最终交付物是经验证的薪资单,由所有者手动录入;这是当前连接器的能力范围,并非次等方案。两种系统都由所有者提交发放。未连接任何平台的情况下,生成经验证的薪资单供手动录入。如果步骤2中Gusto的阻碍项导致无法通过连接整理薪资,那么最终交付物就是经验证的薪资单加上通俗易懂的阻碍项列表——说明情况即可,不要将其视为失败。

Step 8 — Sync to the books

步骤8 — 同步到账簿

After the run is submitted, post the journal entry to the ledger: gross wages, employer taxes, and any labor allocated to jobs. Test the capability, not the logo: a connected ledger whose connector has no journal-write path cannot take the post, so say so in one line and hand the balanced entry to the owner or bookkeeper to key in — a complete outcome, not a failure. Confirm the amounts match what actually ran, not what was proposed — those differ whenever the owner edited something at the last step.
薪资发放提交后,将日记账分录过账到分类账:包括工资总额、雇主税费,以及任何按项目分配的人工成本。要验证实际能力,而非仅看连接标识:如果已连接的分类账连接器不支持日记账写入,就无法自动过账,此时用一句话说明情况,将平衡的分录交给所有者或簿记员手动录入——这也是完整的交付结果,并非失败。要确认金额与实际发放的金额一致,而非提议的金额——只要所有者在最后一步做了任何修改,两者就会有差异。

What not to do

禁止操作

  • Do not guess a punch, a rate, or a classification. Unknown hours get named with the person and the date.
  • Do not correct an anomaly silently, even an obvious-looking one. The owner may know something you do not.
  • Do not submit payroll. Stage it; the owner submits.
    run_payroll
    is never called by this skill. This holds for QuickBooks Payroll exactly as it holds for Gusto — a connected payroll system is not permission to run payroll.
  • Do not send a delta to
    update_payroll
    .
    Its values replace. Compute the new total from
    get_payroll
    , show both numbers, send the total.
  • Do not write a punch the owner did not state.
    record_time
    carries only times the owner gave, and only after they saw the entry.
  • Do not read a pay rate without checking the hours against it. In QuickBooks Payroll one person can carry many rates with zero hours on most of them.
  • Do not bury flags in a summary. Attach each one to the person it affects.
  • Do not batch the flag review. One decision per person per issue.
  • Do not treat a missing connector as a blocker. A spreadsheet in, a validated run sheet out, is a designed path.
  • Do not skip the prior-period comparison. A large move with no explanation is the most useful warning available.
  • Do not stage a run from a payroll source that reports employees but returns none. A connected badge is not data. Say the source is not delivering, and use the spreadsheet path.
  • Do not reproduce an employee's SSN, date of birth, home address, or bank or card number in the run sheet, the chat, or any rendered page. Gusto and QuickBooks Payroll payloads carry them; read past them (
    ../../shared/personal-data.md
    ).
  • 不要猜测打卡时间、薪资费率或员工分类。 工时未知的情况要明确标注员工姓名和日期。
  • 不要悄悄修正异常,哪怕是看起来很明显的异常。所有者可能掌握你不知道的信息。
  • 不要提交薪资发放。 仅整理待发放数据,由所有者提交。本技能绝不会调用
    run_payroll
    。这一点对QuickBooks Payroll和Gusto同样适用——连接了薪资系统不代表有权限发放薪资。
  • 不要向
    update_payroll
    发送增量数据。
    它的值是替换式的。要基于
    get_payroll
    的结果计算新的总额,展示新旧两个数字,然后发送总额。
  • 不要写入所有者未明确说明的打卡记录。
    record_time
    仅写入所有者提供的时间,且必须在所有者确认记录之后。
  • 读取薪资费率时务必核对对应的工时。 在QuickBooks Payroll中,一个员工可能有多个费率,其中大多数对应的工时为零。
  • 不要把异常标记藏在摘要里。 每条异常都要关联到对应的员工。
  • 不要批量处理异常审核。 每个人的每个问题都要单独决策。
  • 不要把缺少连接器当作阻碍。 上传电子表格、输出经验证的薪资单是设计好的标准流程。
  • 不要跳过与上一周期的对比。 无法解释的大幅变动是最有价值的预警。
  • 不要从申报了员工但未返回任何员工数据的薪资数据源整理薪资单。 连接标识不代表数据存在。说明数据源无法正常提供数据,然后使用电子表格方案。
  • 不要在薪资单、聊天记录或任何生成的页面中复制员工的SSN、出生日期、家庭住址或银行卡号。Gusto和QuickBooks Payroll的返回数据中包含这些信息,直接跳过即可(参见
    ../../shared/personal-data.md
    )。

Output

输出

Deliver the validated run sheet per the owner's stored output preference — never default to a markdown file. Check the
## Business context
block's
Output preference
(shared style guide rule,
../../shared/artifact-style.md
):
  • Visual artifact (the default): render the run sheet as an HTML page in the house style — headcount, total gross, and cash leaving the account as stat tiles, each person a row with hours and pay in tabular-nums, and a pill on every flag attached to the person it belongs to. Blockers, when Gusto reports them, get their own plain-English panel.
  • docx / md / notion / canva preference: deliver the same content in that form — a DOCX or markdown file, a Notion page created via the connector (named destination, never overwriting), or a Canva Doc created via the Canva connector (a new design each run, named with the date; tables become lists); fall back to the visual artifact if Notion or Canva is not connected — and say that is why.
  • Best for skill: use the visual artifact — this output is a sheet the owner approves person by person.
按照所有者保存的输出偏好交付经验证的薪资单——绝不要默认使用markdown文件。 查看
## Business context
模块中的
Output preference
(共享样式指南规则,参见
../../shared/artifact-style.md
):
  • 可视化产物(默认): 按照内部样式将薪资单渲染为HTML页面——发放人数、总毛薪、账户转出资金以统计卡片形式展示,每位员工占一行,工时和薪资使用等宽数字字体,每个异常标记都以标签形式附在对应员工行上。如果Gusto返回了阻碍项,会单独用通俗易懂的面板展示。
  • docx / md / notion / canva 偏好: 以对应格式交付相同内容——DOCX或markdown文件、通过连接器创建的Notion页面(指定目标位置,绝不覆盖现有内容)、或通过Canva连接器创建的Canva文档(每次发放新建一个设计,以日期命名;表格转为列表);如果未连接Notion或Canva,则回退到可视化产物——并说明原因。
  • 技能推荐: 使用可视化产物——这种输出形式方便所有者逐人审批。

After the run

发放后

The run is staged, the flags are resolved, and the books entry is posted. If cash was the worry going in, the natural next step is "can I make payroll" —
/plan-payroll
runs the forecast and the invoice chase in front of the next run. Also nearby: "cash forecast" (
cash-flow-snapshot
) to see what this run does to the next 30 days, and "taxes" (
/tax-prep
) when quarterly estimates or 1099s are coming due. Offer at most three, and skip any offer the owner already declined this session.
薪资单已整理、异常已解决、账簿分录已过账。如果当初的顾虑是资金问题,那么下一步自然是“我能发得起工资吗”——
/plan-payroll
会在下一次发放前运行预测和发票催收。相关功能还有:“现金流预测”(
cash-flow-snapshot
),查看本次发放对未来30天现金流的影响;以及“税务”(
/tax-prep
),用于季度预估税或1099表格到期前的准备。最多推荐三个功能,跳过本次会话中所有者已经拒绝过的推荐。

Reference files

参考文件

  • reference/timesheet_intake.md
    — Gusto pull, spreadsheet upload, roster and period setup
  • reference/anomaly_rules.md
    — every check, its threshold, and how it is worded
  • reference/run_sheet_format.md
    — the run sheet layout and the totals block
  • reference/books_sync.md
    — journal entry structure and job-cost allocation
  • reference/gotchas.md
    — the mistakes that shortchange a person or double-pay a period
  • reference/timesheet_intake.md
    — Gusto数据拉取、电子表格上传、名册与周期设置
  • reference/anomaly_rules.md
    — 所有检查项、阈值及表述方式
  • reference/run_sheet_format.md
    — 薪资单布局和总计模块
  • reference/books_sync.md
    — 日记账分录结构和项目成本分配
  • reference/gotchas.md
    — 可能导致员工薪资少发或周期重复发放的错误

Using a tool that isn't listed

使用未列出的工具

The connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer
build-connector
— it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.
本技能中提到的连接器是经过验证的路径,但并非唯一选择。如果所有者希望此流程使用未连接或未列出的工具,可以提供
build-connector
功能——它会先检查连接器目录,否则通过Zapier连接,绝不会基于原始API手动构建。连接建立后,该工具就会像其他可选连接器一样接入本技能,遵循相同的审批规则。