paypal-settlements.md
110 lines · small-business/skills/month-end-prep/reference/paypal-settlements.md at 2574e29
Most marks come from matching words in the file, so treat them as pointers.
Payment Processor Settlements Reference
Raw lines 1 to 2PayPal
Raw lines 12 to 13Settlement report structure
The PayPal connector returns a Transaction History or Settlement report. Key fields:
| Field | Notes |
|---|---|
transaction_info.transaction_id | PayPal transaction ID |
transaction_info.transaction_initiation_date | When the transaction occurred |
transaction_info.transaction_amount.value | Gross amount (positive = money in) |
transaction_info.fee_amount.value | PayPal fee (negative) |
transaction_info.transaction_status | Use only S (Success) and P (Pending) |
payer_info.email_address | Customer email — useful for matching |
Deposit date vs. transaction date: PayPal batches payouts. A sale on April 28 may not deposit until May 2. Match by deposit date when reconciling against QB bank entries, not transaction date.
Refunds: Appear as negative amounts with transaction_type = T1107 or T1114. They should offset the original sale — don't flag a refund as a discrepancy against the QB register unless there's no corresponding QB credit.
Holds: Transactions in status F (Funds on Hold) have not been deposited yet. Note them separately — they'll appear in next month's settlement.
Raw lines 14 to 40
Square
Raw lines 41 to 42Settlement report structure
Square calls these Payouts. Each payout covers 1–2 business days of sales.
Key fields from the Square Payouts API:
| Field | Notes |
|---|---|
id | Payout ID |
arrived_at | Date the funds landed in the bank account |
amount_money.amount | Net payout in cents (already minus Square fees) |
status | Use only PAID status for reconciliation |
Fees: Square deducts fees before the payout — so amount_money.amount is net. When matching against QB, compare to the net bank deposit, not the gross sale total.
Same-day payouts: If the user has Square Instant Transfer, funds may arrive on the transaction date. The default is next business day.
Raw lines 43 to 63
Stripe
Raw lines 64 to 65Settlement report structure
Stripe calls these Payouts. The Stripe connector returns payout objects plus the balance transactions within each payout.
Key fields:
| Field | Notes |
|---|---|
id | Payout ID |
arrival_date | Unix timestamp of bank arrival date |
amount | Net payout in cents (fees already deducted) |
status | Use only paid for reconciliation |
Stripe fees: Like Square, fees are deducted before payout. Compare net amounts.
Stripe Connect / platform accounts: If the user runs a platform on Stripe Connect, individual transfer payouts may look unusual. Ask the user to confirm their Stripe account type if payout patterns don't match expectations.
Raw lines 66 to 87
Reconciliation logic (all processors)
Use this logic to match processor deposits against QuickBooks bank deposits:
for each processor deposit in target month:
find QB deposit where:
abs(QB.amount - processor.net_amount) < USD 0.50
AND abs(QB.date - processor.arrival_date) <= 2 days
if match found:
mark as RECONCILED
elif abs(QB.amount - processor.net_amount) < USD 0.50 (date mismatch only):
flag as DATE_MISMATCH (usually a timing difference — low priority)
elif processor deposit not matched at all:
flag as MISSING_IN_QB
elif QB deposit not matched to any processor record:
flag as UNMATCHED_DEPOSIT (may be ACH, check, or other income)Multi-processor businesses: Run this logic independently per processor, then aggregate flags. A QB deposit that doesn't match PayPal may legitimately be a Square payout — don't flag it until you've checked all connected processors.
Raw lines 88 to 110