Skip to content

Chapter 7: Financial Document Layer

The financial document layer is what makes Capxul a financial operations platform, not just a payment tool. It produces three distinct document types, powers real-time dashboards, and generates configurable periodic reports. The document layer is the engine. The dashboard is the steering wheel. The reports are the rearview mirror.

Competitive Context: Why Not Request Network

Section titled “Competitive Context: Why Not Request Network”

Request Network is the most recognized name in crypto invoicing. Capxul builds a competing product, not integrating with theirs.

Where they fall short for Capxul’s market:

  • Invoice-first, not workflow-first. No concept of employment relationships, payment streams, or invoices as part of a larger financial workflow.
  • No payroll awareness. No payslips, pay periods, or stream-to-document reconciliation.
  • No financial intelligence. No dashboards, burn rate, AP aging, or reporting.
  • Over-indexed on decentralization. IPFS storage and on-chain request creation add latency. Users care about “did I get paid,” not IPFS.
  • No off-ramp story. Payments end in crypto with no fiat conversion.

Capxul’s differentiation: the full loop from document creation through approval, on-chain payment, claiming, off-ramp, verifiable receipt, and live financial intelligence.

All financial documents share a single data model distinguished by a type field.

Why a single model: One set of indexes, one access control pattern, one real-time subscription layer, one PDF generator, one audit trail. Every cross-cutting feature (search, export, on-chain anchoring, dashboard aggregation, reporting) is built once.

TypePurposeCreated ByLifecycle
invoiceRequest for payment from external partyVendor/contractor (or org on their behalf)draft -> submitted -> under_review -> approved -> payment_pending -> paid
payslipPeriodic compensation recordSystem (auto-generated)generated -> available
receiptProof of payment on claim or transferSystem (auto-generated)generated -> available

Document ID, type, amount (USDC), fiat equivalent, fiat currency code, exchange rate at time of recording, issuer (org), recipient, line items, status, creation timestamp, on-chain tx hash (populated after payment), document hash (for on-chain anchoring), organization ID.

Invoice number, due date, payment terms (e.g., Net 30), purchase order reference, submission date, approval chain (list of approvers and timestamps).

Stream ID, period start/end dates, gross accrued amount, total claimed during period, unclaimed balance at period end, pay period configuration reference.

Claim transaction hash, source document reference (links back to the payslip or invoice this receipt settles).

draft -> submitted -> under_review -> approved -> payment_pending -> paid
| |
v v
disputed disputed
StatusDescription
draftVendor composing. Not visible to org.
submittedSent to org. Visible in AP queue.
under_reviewApproved spender reviewing.
approvedApproved for payment. Auto-triggers if within spending limit, escalates otherwise.
payment_pendingSafe module transaction submitted, awaiting on-chain confirmation.
paidOn-chain confirmed. Tx hash and document hash recorded. Terminal state.
disputedFrom under_review (org disputes) or paid (post-payment). Requires resolution.

Both are simple: generated -> available. Payslips are auto-generated at period end from stream data. Receipts are auto-generated when a claim or payment is confirmed on-chain.

All financial documents are immutable once generated. Corrections create a new amendment document with a supersedes field referencing the original. The original remains with its content and on-chain hash intact. Both exist permanently. The amendment is the current version.

This preserves audit trail integrity and ensures on-chain document hashes remain verifiable.

All user types follow the same pattern. The platform asks for the minimum information needed for the current action.

LevelWhat’s RequiredWhat’s Unlocked
0 - No accountMagic link from orgView purchase orders, invoice templates (read-only)
1 - Basic accountEmail sign-upSubmit invoices, view payment status, see history
2 - Payment-readySmart account or bank detailsReceive funds
3 - Full complianceKYC completedRequired by org policy, jurisdiction, or volume threshold
LevelWhat’s RequiredWhat’s Unlocked
0 - Added by orgNothingView payslips, stream status, financial summary
1 - Claim-readySmart account setupClaim accrued funds
2 - Off-ramp configuredBank/MoMo connectionRoute claimed funds to fiat
3 - Full complianceKYC completedRequired by volume threshold or jurisdiction

Design principle: Viewing documents and dashboards requires zero setup. Submitting documents requires minimal setup. Friction gates are on receiving money, not on participating in documentation or visibility. See Chapter 10 for how verification tiers map to these levels.