Skip to content

Commit 65c3f6b

Browse files
author
Sim Pi Agent
committed
Pi Babysit: address PR #9679 feedback
1 parent 5985eb4 commit 65c3f6b

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

  • apps/sim/content/library/quickbooks-ai-agent-month-end-close-guide

‎apps/sim/content/library/quickbooks-ai-agent-month-end-close-guide/index.mdx‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ faq:
2525
- q: "Should an AI agent post journal entries to QuickBooks automatically?"
2626
a: "A QuickBooks AI agent should not post unrestricted journal entries automatically because material ledger changes require deterministic validation, limited permissions, and an accountable human approval process."
2727
- q: "How does Human in the Loop work in Sim?"
28-
a: "Sim’s Human in the Loop block pauses a workflow and resumes after a reviewer submits form fields, while a downstream Condition must inspect the approval field and choose the next path."
28+
a: "Sim’s Human in the Loop block pauses a workflow and resumes after an authorized workspace caller submits form fields, while a downstream Condition must inspect the approval field and choose the next path. The block does not restrict submission to an assigned reviewer, so the approver’s identity needs a separate check."
2929
- q: "Can Sim stop a month end workflow when data is incomplete?"
3030
a: "Sim can route incomplete or failed inputs to an exception path so the close summary does not report completion when required QuickBooks, Stripe, or bank data is missing."
3131
- q: "What records should a QuickBooks reconciliation agent retain?"
@@ -43,7 +43,7 @@ faq:
4343
- q: "How do you prevent duplicate accounting actions when a workflow retries?"
4444
a: "Sim should use source record identifiers, idempotency keys, status checks, and a separate approved write path so a retry cannot create the same accounting action twice."
4545
- q: "Can an AI agent certify that month end close is complete?"
46-
a: "A QuickBooks AI agent should not certify completion unless every required source succeeded, reconciliation thresholds were met, material exceptions were resolved, and the designated finance owner approved the close."
46+
a: "A QuickBooks AI agent should not certify completion unless every required source succeeded, reconciliation thresholds were met, material exceptions were resolved, and the designated finance owner approved the close. The approval process must verify the finance owner’s identity separately from the Human in the Loop submission."
4747
---
4848

4949
## TL;DR
@@ -94,6 +94,8 @@ Sim should retrieve each source through a separately authenticated connection wi
9494

9595
Use Sim's native QuickBooks integration for approved QuickBooks operations and connect Stripe for payment, refund, fee, and settlement records. Bank data can enter through an approved API, a governed data store, a webhook, or a securely delivered file.
9696

97+
Sim’s native Stripe List Charges operation returns at most 100 charges and reports whether more results exist, but it does not accept the cursor needed to retrieve the next page. For a complete close, use the API block to call Stripe’s [charge](https://docs.stripe.com/api/charges/list), [payout](https://docs.stripe.com/api/payouts/list), and [balance transaction](https://docs.stripe.com/api/balance_transactions/list) list endpoints for the closing period. Request each next page with `starting_after` set to the final record ID from the prior page, and continue until `has_more` is false before calculating totals.
98+
9799
Each source should be transformed into a common reconciliation record containing:
98100

99101
1. Source system
@@ -123,11 +125,11 @@ Every AI generated classification should retain the source records, rule results
123125

124126
## How does Sim route month end exceptions to a human approver?
125127

126-
Sim routes month end exceptions through the Human in the Loop block, which pauses the run and resumes after the assigned reviewer submits the requested form fields.
128+
Sim routes month end exceptions through the Human in the Loop block, which pauses the run and resumes after a caller with workspace write access, including a workspace API key, submits the requested form fields. The block does not restrict submission to an assigned reviewer, so notifying a finance approver does not by itself enforce that person’s identity.
127129

128130
The review form can show the QuickBooks record, Stripe record, bank record, calculated difference, matching rule, AI explanation, and supporting identifiers. It can collect an approval decision, resolution category, corrected account, reviewer note, and escalation owner.
129131

130-
Approve or reject is a form field rather than an automatic branch. A downstream Condition must inspect that field and route the run to the approved, rejected, or escalation path.
132+
Approve or reject is a form field rather than an automatic branch. Before treating that response as the designated finance owner’s approval, use a separately authenticated approval system or authorization check that records and verifies the approver. A downstream Condition must then inspect the verified approval result and route the run to the approved, rejected, or escalation path.
131133

132134
For material accounting changes, the approved path should normally create a reviewed work item or a proposed entry rather than granting the model unrestricted authority to modify the ledger.
133135

@@ -159,8 +161,8 @@ Important controls include:
159161
1. Use separate credentials for QuickBooks, Stripe, and each bank data source.
160162
2. Grant read access by default and add write permissions only when a reviewed action requires them.
161163
3. Keep deterministic reconciliation rules outside the model prompt.
162-
4. Require human approval for material exceptions and ledger affecting actions.
163-
5. Route the submitted approval field through a Condition before continuing.
164+
4. Require independently authenticated human approval for material exceptions and ledger affecting actions.
165+
5. Verify the approver’s identity separately, then route the approval result through a Condition before continuing.
164166
6. Record the workflow version, source identifiers, rule result, model output, reviewer response, and final action for each exception.
165167
7. Stop the close summary from reporting completion when required inputs fail.
166168
8. Test the workflow on a copied or sandbox data set before using production credentials.

0 commit comments

Comments
 (0)