Practice sandboxTry anything: add, edit, record and send. Do not enter real people, children, gifts or contact details until we move to the launched production system. Changes stay in this browser only, and nothing sends, charges or posts.Practice only. No real data.
Legacy ChurchStaff Sandbox

Sandbox: nothing is posted to QuickBooks.

Entries are built from simulated Stripe balance events and the cash and check gifts recorded in this browser, by the same pure posting rules (@church/domain/ledger) the real poster will use. Real posting asserts the realm allowlist, pins minorversion 75 and goes through @church/outbound. Here a sync only writes to this browser's sync history.

Payout
$325.00
Equals the Transfer and the bank line
Gross in
$332.62
1 gifts
Fees
$7.62
Processing and dispute fees
Entries
1 + 1
Journal entries + Transfer

Journal entry 1: STR-251215-01

Dated Mon 15 Dec 2025 (the gift business date). Stripe po_20251217 · business date 2025-12-15 CT · 1 charge

Balanced
Lines of journal entry STR-251215-01
AccountClass (fund)DebitCreditMemo
1060 Stripe Clearing—$325.00Net of po_20251217 for 2025-12-15
8910 Payment Processing FeesGeneral Fund
Location: Administration
$7.62Fees, 1 gift
4010 Tithes & OfferingsGeneral Fund$332.621 gift
Totals$332.62$332.62Debits = credits
Request that would be sent (preview, not sent)
POST /v3/company/{realmId}/journalentry?minorversion=75&requestid={uuidv5(batchId+version)}

{
  "DocNumber": "STR-251215-01",
  "TxnDate": "2025-12-15",
  "PrivateNote": "Stripe po_20251217 · business date 2025-12-15 CT · 1 charge",
  "Line": [
    {
      "DetailType": "JournalEntryLineDetail",
      "Amount": 325,
      "Description": "Net of po_20251217 for 2025-12-15",
      "JournalEntryLineDetail": {
        "PostingType": "Debit",
        "AccountRef": {
          "value": "1060"
        }
      }
    },
    {
      "DetailType": "JournalEntryLineDetail",
      "Amount": 7.62,
      "Description": "Fees, 1 gift",
      "JournalEntryLineDetail": {
        "PostingType": "Debit",
        "AccountRef": {
          "value": "8910"
        },
        "ClassRef": {
          "value": "cls-general"
        },
        "DepartmentRef": {
          "name": "Administration"
        }
      }
    },
    {
      "DetailType": "JournalEntryLineDetail",
      "Amount": 332.62,
      "Description": "1 gift",
      "JournalEntryLineDetail": {
        "PostingType": "Credit",
        "AccountRef": {
          "value": "4010"
        },
        "ClassRef": {
          "value": "cls-general"
        }
      }
    }
  ]
}

Transfer

Dated Thu 18 Dec 2025 (the arrival date). Memo: “Stripe payout po_20251217”. The bookkeeper Matches the bank line to it.

Transfer lines
AccountDebitCredit
1010 Operating Checking$325.00
1060 Stripe Clearing$325.00

Contents (1)

Simulated Stripe balance transactions: the only input to the entries.

Balance transactions in this payout
TypeDonorAmountFee
GiftKendall Ashgrove
Mon 15 Dec 2025 · card
$332.62−$7.62

Posting checks

Any failure blocks posting (FIN-008).

  • PassΣ allocations = amount1 events
  • PassΣ payout events = payout325.00 vs 325.00
  • PassSTR-251215-01 balancesDr 332.62 · Cr 332.62
  • PassEvery revenue and expense line has a ClassClass = Fund
  • PassClearing nets to zero after the TransferTransfer 325.00 on 2025-12-18

Real posting also checks the realm allowlist, the close date and the exactly-once request id, then goes through @church/outbound. Post it from QuickBooks sync; sign the bank match off in Reconciliation.