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
$156.18
Equals the Transfer and the bank line
Gross in
$160.00
1 gifts
Fees
$3.82
Processing and dispute fees
Entries
1 + 1
Journal entries + Transfer

Journal entry 1: STR-260506-01

Dated Wed 6 May 2026 (the gift business date). Stripe po_20260508 · business date 2026-05-06 CT · 1 charge

Balanced
Lines of journal entry STR-260506-01
AccountClass (fund)DebitCreditMemo
1060 Stripe Clearing—$156.18Net of po_20260508 for 2026-05-06
8910 Payment Processing FeesGeneral Fund
Location: Administration
$3.82Fees, 1 gift
4010 Tithes & OfferingsGeneral Fund$160.001 gift
Totals$160.00$160.00Debits = credits
Request that would be sent (preview, not sent)
POST /v3/company/{realmId}/journalentry?minorversion=75&requestid={uuidv5(batchId+version)}

{
  "DocNumber": "STR-260506-01",
  "TxnDate": "2026-05-06",
  "PrivateNote": "Stripe po_20260508 · business date 2026-05-06 CT · 1 charge",
  "Line": [
    {
      "DetailType": "JournalEntryLineDetail",
      "Amount": 156.18,
      "Description": "Net of po_20260508 for 2026-05-06",
      "JournalEntryLineDetail": {
        "PostingType": "Debit",
        "AccountRef": {
          "value": "1060"
        }
      }
    },
    {
      "DetailType": "JournalEntryLineDetail",
      "Amount": 3.82,
      "Description": "Fees, 1 gift",
      "JournalEntryLineDetail": {
        "PostingType": "Debit",
        "AccountRef": {
          "value": "8910"
        },
        "ClassRef": {
          "value": "cls-general"
        },
        "DepartmentRef": {
          "name": "Administration"
        }
      }
    },
    {
      "DetailType": "JournalEntryLineDetail",
      "Amount": 160,
      "Description": "1 gift",
      "JournalEntryLineDetail": {
        "PostingType": "Credit",
        "AccountRef": {
          "value": "4010"
        },
        "ClassRef": {
          "value": "cls-general"
        }
      }
    }
  ]
}

Transfer

Dated Mon 11 May 2026 (the arrival date). Memo: “Stripe payout po_20260508”. The bookkeeper Matches the bank line to it.

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

Contents (1)

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

Balance transactions in this payout
TypeDonorAmountFee
GiftSamuel Birchwood
Wed 6 May 2026 · card
$160.00−$3.82

Posting checks

Any failure blocks posting (FIN-008).

  • PassΣ allocations = amount1 events
  • PassΣ payout events = payout156.18 vs 156.18
  • PassSTR-260506-01 balancesDr 160.00 · Cr 160.00
  • PassEvery revenue and expense line has a ClassClass = Fund
  • PassClearing nets to zero after the TransferTransfer 156.18 on 2026-05-11

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.