Mode
Internal controls
Audit evidence pack

Can this case be audited end to end?

Auditors get one read-only package linking customer proof, operator controls, ledger boundary, payout handoff, and revenue treatment.

evidence_pack_school_2026_001
audit ready
Paymentpay_scenario_001rcpt_scenario_001
MerchantDemo Marketplink_school_2026
Settlementset_2026_06_15_iqdpo_school_2026_001
Audit anchoraudit_anchor_school_2026_001op_decision_school_2026_001
Checkout sessioncs_school_2026_001evpack_checkout_sessionGuest card path created the payment attempt without customer signupCustomer, merchant, supportNo money before capturecapturedImmutable receiptEP-RCPT-2026-00041evpack_receiptReceipt proves the payer, merchant reference, amount, and captured statusCustomer, merchant, supportRead-only proofissuedPayment method routepm_review_demo_market_iq_2026evpack_method_routeLocal card route is approved for IQD guest card checkoutBackofficeMerchant cannot bypass route approvallive readyProvider captureroute_live_cards_iqdevpack_provider_captureProvider capture reference is accepted before payout handoffOperations, risk, reconciliationCapture proof only; payout still gatedops clearedLedger movementmov_payment_capture_001evpack_ledger_movementGross, fee, reserve, and merchant balance entries are balancedOperations, finance, company ownerImmutable financial postingmatchedWebhook deliveryevt_payment_captured_001evpack_webhook_deliverySigned payment.captured event lets the merchant fulfill safelyMerchant developer, operationsNotification only; does not move fundsdeliveredNotification handoffnotify_school_2026_001evpack_notification_handoffReceipt, merchant capture alert, support intake, and reminder messages are traceableCustomer, merchant, support, backofficeMessages do not create ledger movementactiveStatement matchrecon_run_school_2026_001evpack_statementProvider file, ledger, statement, and POS contribution match with no differenceMerchant finance, reconciliationStatement supports payout but does not release itstatement matchedPayout handoffrafidain_transfer_pending_8821evpack_payoutMerchant payout is provider pending after upstream controls clearMerchant finance, treasury, supportBank transfer remains controlled by treasuryprovider pendingSupport casetkt_school_parent_receipt_001evpack_support_caseSupport can answer receipt, refund, dispute, and no-capture questions from one caseSupport, customer-safe answerSupport answer does not move moneyreadyRefund gatetrace_refund_school_2026evpack_refund_gateRefund request requires maker-checker separation before any reversal postsSupport, risk, approvalmaker_checker_no_self_approvalawaiting checkerDispute packageevpkg_school_2026_readyevpack_dispute_packageCheckout, auth, receipt, webhook, and support package protect the dispute responseRisk, support, backofficeDispute outcome controls liability laterOperator decisionsoperator_action_console_school_2026evpack_operator_actionsRisk, provider capture, support, refund gate, reconciliation, and treasury decisions are linkedRisk, operations, finance, treasuryNo single operator bypasses maker-checker or treasury controlsprovider pendingRevenue boundaryrev_school_2026_001evpack_revenue_boundaryGMV, merchant payable, reserve liability, provider cost, and Epara margin stay separatedPlatform financeReserve is a liability hold, not Epara revenue.revenue recognized

Who uses this evidence?

Evidence IDRoleQuestionEvidenceAnswerStatus
evrole_customerCustomerDid my payment succeed?EP-RCPT-2026-00041Receipt proves captured payment without mandatory signupready
evrole_merchant_ownerMerchant ownerWho paid the collection page?pay_scenario_001Collection ledger, receipt, and reminder evidence show paid/unpaid referencescaptured
evrole_merchant_financeMerchant financeWhat will settle and pay out?set_2026_06_15_iqdStatement, fee, reserve, and provider-pending payout are traceableapproved
evrole_supportSupportCan we answer without moving money?tkt_school_parent_receipt_001Support can explain receipt, refund path, dispute evidence, and no-capture outcomesready
evrole_operationsOperationsDid provider, webhook, ledger, and reconciliation clear?op_decision_school_2026_001Operational clearance proves capture, outbox, receipt support, reconciliation, and payout handoffprovider pending
evrole_riskRiskWhat exposure can block payout?risk_decision_map_school_2026Risk can see reserve, refund gate, dispute package, and payout release exposureallowed
evrole_auditorAuditorCan this case be audited end to end?audit_anchor_school_2026_001Evidence package links customer proof, operator controls, ledger boundary, and revenue boundaryaudit_ready
evrole_company_ownerCompany ownerWhat did Epara earn and what is liability?rev_school_2026_001Revenue view separates GMV, provider cost, reserve liability, and platform marginrevenue recognized

Evidence custody timeline

StepEventObjectActorEvidenceStatus
1Customer checkoutcs_school_2026_001guest_payerpm_action_guest_card_checkoutcaptured
2Receipt issuedEP-RCPT-2026-00041receipt_servicedeliveredissued
3Provider and ledger verifiedroute_live_cards_iqdoperationsmov_payment_capture_001matched
4Support and risk package readytkt_school_parent_receipt_001support_riskevpkg_school_2026_readyready
5Statement and payout handoffset_2026_06_15_iqdfinance_treasuryrafidain_transfer_pending_8821provider pending
6Revenue boundary recordedrev_school_2026_001platform_financeaudit_anchor_school_2026_001revenue recognized
Audit trail00 signed entries
Permission checks00 denied
Immutable guards0 / 00 guard issue groups

Auditor State

Evidence statusreview required
Hash chainreview required
Legacy anchornot required

Hash Chain Evidence

Signed Audit Trail entries are chained by sequence, previous hash, canonical payload, and entry hash.

No records yetRecords will appear here after the first live or test activity.

Control Evidence

Audit evidence views are read-only and do not change Ledger, balances, permissions, or operational state.

No records yetRecords will appear here after the first live or test activity.

Database Guards

Audit Trail, Permission Checks, and authoritative financial evidence tables are protected by PostgreSQL guards.

No records yetRecords will appear here after the first live or test activity.

Legacy Anchor Evidence

Legacy unsigned Audit Trail rows are anchored by digest instead of being rewritten.

No records yetRecords will appear here after the first live or test activity.

Permission Evidence

Permission Checks are immutable allow/deny evidence with trace ids and role-match context.

No records yetRecords will appear here after the first live or test activity.

Actor Evidence

Auditor view of which actors generated Audit Trail entries and Permission Checks.

No records yetRecords will appear here after the first live or test activity.

Audit Action Families

Action families help Auditors scan operational activity without reading every row first.

No records yetRecords will appear here after the first live or test activity.

Permission Families

Permission families show allowed and denied checks by capability family.

No records yetRecords will appear here after the first live or test activity.

Audit Trail

Recent Audit Trail rows are shown as read-only evidence for operational review.

No records yetRecords will appear here after the first live or test activity.