Card Management
Corporate card programs, card issuance, transaction monitoring, expense classification, and reconciliation
Overview
Card Management handles corporate card programs, card issuance to employees, transaction monitoring, and expense reconciliation. All card operations use the workflow system for approval routing, audit trails, and policy enforcement.
Dual Pipeline Architecture
Card transactions can flow into the system through two paths:
Dedicated Card Pipeline (Primary)
Card transactions from connectors (Stripe, Payhawk, bank APIs) or CSV imports are ingested into a dedicated card transaction table and processed by a specialized agent:
- Ingest -- Card transactions arrive from connector or CSV import
- Classify -- Agent classifies by MCC code and merchant name
- Resolve -- Agent resolves card to card program to employee
- Post GL -- Creates CARD_EXPENSE journal entries (debit expense, credit card clearing)
- Reconcile -- Card reconciliation verifies posted transactions
Bank Statement Pipeline (Auto-Routed)
When a bank account is linked to a card program, statement lines from that account are automatically routed to the dedicated card pipeline. This means card transactions from bank statements receive the same MCC classification, employee resolution, and reconciliation as those from dedicated connectors.
Statement Intake Discovery
When processing any bank statement, the system validates account existence before processing:
- Extract account identifier (IBAN or account number) from the statement
- Match to bank accounts in the system
- Route based on result:
- Account found + card program linked -- Route to card processing
- Account found + no card program -- Regular bank statement processing
- Account not found -- Ask user to identify and create the account
If something is missing or ambiguous, the system asks rather than silently skipping. Every statement upload is an opportunity to build out the account and card structure incrementally.
Who Uses Card Management?
Card Programs
A card program groups cards with shared configuration:
- Card issuer/provider (Wise, Stripe, Lithic)
- Spending limits and controls
- Funding source (checking account that pays the card bill)
- Merchant category (MCC) restrictions
- Approval workflows
Program Types
Card Types
Bank Account Links
Each card program has two bank account references:
MCC Restrictions
Merchant Category Codes (MCC) control where cards can be used. Common configurations include:
- Allowed codes -- Restaurants, hotels, airlines, office supplies
- Blocked codes -- Gambling, direct marketing
Card Issuance
Cards are issued to employees through a workflow that supports:
- Virtual or physical card types
- Individual spending limits per card (daily, weekly, or monthly)
- MCC restrictions at the card level (in addition to program-level)
- Automatic reference numbers (e.g., CARD-000001)
Card Lifecycle
Cards can be suspended and reactivated, but cancellation is permanent. Spending limits can be updated at any time.
Transaction Lifecycle
Complete Flow
- Transaction occurs -- Employee swipes card, processor authorizes
- Ingestion -- Connector syncs transaction; inserted with "posted" status
- Classification -- AI classifies expense (MCC code + historical patterns + merchant matching)
- Employee submission -- Employee provides business purpose and cost dimensions
- Approval -- Routed through approval lanes based on amount
- Reconciliation -- Matched to expense reports or flagged
- GL posting -- Journal entry posted (debit expense, credit card clearing)
Approval Lane Rules
Card transaction submissions are routed based on amount:
Transaction Status Fields
Card Transaction Processing
The dedicated card transaction processor agent handles classification automatically:
- Memory check -- Checks if this merchant has been seen before
- MCC classification -- Uses the merchant category code for expense categorization
- AI classification -- Falls back to AI for ambiguous transactions
- Vendor resolution -- Creates or matches vendor from merchant name
- GL posting -- Posts CARD_EXPENSE entry (debit expense, credit card clearing)
- Receipt tracking -- Triggers receipt collection for transactions requiring receipts
Card Reconciliation
Card reconciliation uses a simplified 4-pass approach:
- Auto-confirm -- Card transactions already linked to GL entries are confirmed
- Amount + date match -- Match unposted transactions to CARD_EXPENSE GL entries
- Employee + merchant match -- Use employee and merchant patterns for matching
- Manual review -- Remaining unmatched transactions flagged for review
Admin Dashboard Pages
- Card Statements -- Virtual statements grouped by card and month
- Card Detail -- Transaction detail per card/month
- Card Reconciliation Runs -- Overview of reconciliation runs
- Run Detail -- Matched and unmatched items with actions
Security
Card Data Protection
- Full card numbers encrypted at rest (AES-256-GCM)
- CVV never stored after authorization
- Display shows last 4 digits only
- Access control requires appropriate permissions and MFA for sensitive operations
Fraud Prevention
Automatic monitoring:
- Velocity checks (multiple transactions in short time)
- Amount checks (unusually large transactions)
- MCC checks (blocked categories)
- Geographic checks (unusual locations)
Automatic freeze triggers:
- 3+ declined transactions in 10 minutes
- Transaction from blocked MCC
- Amount more than 2x normal pattern
- Transaction from high-risk country
Best Practices
Card Issuance
- Require manager approval for all cards
- Set appropriate spending limits by role
- Issue virtual cards first (instant, easily revocable)
- Document business justification
- Review card usage after 30 days
- Collect cards promptly when employees leave
Transaction Monitoring
- Review transactions daily
- Investigate unusual patterns
- Follow up on missing receipts within 7 days
- Reconcile monthly
- Monitor policy violations
Reconciliation
- Start reconciliation within 5 days of month-end
- Review auto-matches before confirming
- Document all exceptions
- Handle personal expenses immediately
- Complete within 10 days of month-end