Table of Contents
Card Programs
I. Overview
Card Programs is a new functionality in ProSpend that will eventually centralises all card feed ingestion, configuration, mapping, and transaction processing. Every card feed - regardless of the source - will eventually be linked to a Card Program that defines how transactions should be interpreted and how expenses/claims should be automatically created.
Each card program will have the below details -
- A financial institution or a card provider
- Connection details
- Statement periods
- Cardholders
- Transactions
II. High-Level Features
Feature |
Description |
|---|---|
Card Program List View |
A centralised view to easily track, search, and manage all card programs |
Create Card Program |
Setup a new card program with predefined configurations |
Edit Card Program |
Update details such as Type, Card Program Name and Code etc. |
Enable / Disable Program |
Control whether a program is active for use |
Archive / Restore Program |
Safely remove or reinstate programs without data loss |
Manage Bill Cycle |
Access and manage bill cycles directly from the selected card program via a dedicated Bill Cycle Management Page |
III. Feature Details
A. Card Program List View
- Accessible under Treasury > Card Program Setup in the navigation menu
- Displays all card programs in a table list view
- Search bar filters results in real time using keyword matching (e.g. name, account/card number)
- “Active Only” toggle filters the list to card programs with Active status
- Supports pagination with page size options 30, 60, 120
- When users navigate away and return, the view resets to default state (first page, all items, filters cleared)

B. Create / Edit Card Program
Card program details are managed via a form/modal opened from the list (e.g. Add or Edit actions)


- Type options are restricted to:
- AX - American Express
- MC - MasterCard
- OFX - Company Card
- VS - Visa
- WVC - Wise Virtual Card
- Regarding Card Program Code -
- For transactions received via daily feed (MasterCard, Visa and AMEX corporate cards), the card program code should match what’s present in the Reference column in the bill cycles section.

- For transactions received via open API, the card program code should match with what’s passed in the transaction payload.
- For transactions received via daily feed (MasterCard, Visa and AMEX corporate cards), the card program code should match what’s present in the Reference column in the bill cycles section.
- Validation prevents duplicate card programs per (Type + Card Program Code) combination
C. Activate / Deactivate Program
- From the Edit Modal, admins can Deactivate / Re-activate a card program.
- From the Actions menu, admins can Deactivate / Re-activate a card program.
- Deactivated programs are indicated via the Status column and remain visible in the list.
E. Archive / Restore Program
- From the Actions menu, admins can Archive / Restore a card program (for non-deleted, archived records).
- Archived card programs still appear in their dedicated/filtered view, allowing admins to restore if needed.
Card Programs - Bill Cycle Management
I. Overview
Bill Cycle Management allows users to define and manage billing periods for each Card Program. These billing cycles determine how transactions are grouped, reported, and processed within a specific time frame.
Each Card Program maintains its own set of bill cycles, ensuring accurate financial tracking and alignment with provider billing schedules.
How It Works (Simplified)
- User selects a Card Program
- Clicks Manage Bill Cycle action button
- System opens Bill Cycle Management page for that program
- User can -
- View existing cycles
- Add new cycles
- Edit future cycles
- System validates cycles for -
- Gaps
- Overlaps
- Invalid durations
II. High-Level Features
Feature |
Description |
Bill Cycle List View |
A centralised view to track all bill cycles for a selected card program |
Status Tracking |
View bill cycle status (Open, Closed, Scheduled) |
Create Bill Cycle |
Generate new billing periods based on defined frequency and dates |
Bulk Create Bill Cycles |
Automatically generate multiple bill cycles in sequence based on defined frequency |
Edit Bill Cycle |
Modify future or scheduled bill cycles |
Validation & Alerts |
Detect gaps, overlaps, and invalid bill cycle configurations |
III. Feature Details
A. Bill Cycle List View
The Bill Cycle List View provides a structured overview of all billing periods associated with a specific Card Program.

Key Capabilities
-
Program-Specific View
- Displays bill cycles for the selected card program only
-
At-a-Glance Information
Each row includes -- Bill Cycle Period (Start to End Date)
- Status
- 🟢 Open - Active billing period
- 🔵 Scheduled - Future billing period
- ⚪ Closed - Completed billing period
- Unlinked Claims
- Total Number of Claims
- Created Date
-
Smart Default Date Filtering
- By default, the system displays bill cycles from -
- Previous 3 months
- Up to the next 3 months
- This ensures users can immediately see -
- Recent activity
- Current billing cycle
- Upcoming scheduled cycles
- By default, the system displays bill cycles from -
-
Status Filtering
- Filter by -
- Open
- Closed
- Scheduled
- Filter by -
-
Quick Actions
- Edit bill cycle (for eligible records)
B. Create and Bulk Create Bill Cycles
Users can create bill cycles for a selected Card Program by clicking the Add New Bill Cycle Button at the top right of the page.
Outcome -
- System will show preview of Bill Cycles
- System creates sequential billing periods
- Future bill cycles can be created in bulk and will be automatically set to “Scheduled” status.
1. Monthly Bill Cycle Creation


- The system generates bill cycles based on monthly date ranges
- Each cycle follows the selected start date pattern
- Example -
Start Date - 01 Mar 2026
Number of Bill Cycles - 3
Generated cycles include -- 01 Mar 2026 - 31 Mar 2026
- 01 Apr 2026 - 30 Apr 2026
- 01 May 2026 - May 31, 2026
- Handling Months with Fewer Days
If the selected start date falls on a day that does not exist in a given month (e.g., 29th, 30th, or 31st), the system will -- Automatically adjust to the next available valid date
- Continue generating cycles from the adjusted date onward
- Example
Start Date - 31 Jan 2026
If billing day falls on a weekend - Move to next business day (Monday)
Number of Bill Cycles - 4
Generated cycles may include -- 31 Jan 2026 - 02 Mar 2026 (adjusted as February has no 31st; 01 March 2026 is a Sunday)
- 03 Mar 2026 - 30 Mar 2026 (continues from adjusted date)
- 31 Mar 2026 - 30 April 2026 (adjusted as April has no 31st)
- 01 May 2026 - 01 Jun 2026 (30th of May is a Saturday, next business day is 01 Jun 2026)
2. Weekly Bill Cycle Creation

- System generates bill cycles in weekly intervals
- Each cycle covers a 7-day period based on the selected start date
- Weekend handling is not supported
- Example -
Start Date - 01 Mar 2026
Number of Bill Cycles - 4
Generated cycles include -- 01 Mar 2026 - 07 Mar 2026
- 08 Mar 2026 - 14 Mar 2026
- 15 Mar 2026 - 21 Mar 2026
- 22 Mar 2026 - 28 Mar 2026
3. Weekend handling
- Determines how bill cycle dates are adjusted when they fall on a weekend
- Example -
Start Date - 01 May 2026
Number of Bill Cycles - 3
Generated cycles include -- 01 May 2026 - 01 Jun 2026 (31 May 2026 is a Sunday)
- 02 Jun 2026 - 30 Jun 2026
- 01 Jul 2026 - 31 Jul 2026
4. Preview Before Creation
- Before bill cycles are created, users can select Preview to review the generated bill cycles.

- This allows users to -
- Confirm the generated periods
- Check date continuity
- Review weekend-adjusted dates before saving
- Review gaps and errors in validation (Please see Validation & Alerts for more details)
- After Creating the Bill Cycles
Once the user confirms creation -- Newly created bill cycles will -
- Immediately appear in the Bill Cycles List View
- Be highlighted in green to indicate newly created records
- Newly created bill cycles will -

C. Edit Bill Cycle
Users can update bill cycles directly from the Bill Cycle List View using the edit action

- Only the following bill cycles can be edited -
- 🟢 Open
- 🔵 Scheduled
- Validation on Edit
- When updating a bill cycle, the system validates -
- No overlapping periods with existing cycles
- Valid date range (start date must be before end date)
- When updating a bill cycle, the system validates -
- History Tracking
- Changes made to a bill cycle are recorded and available for review

D. Validation & Alerts
To help maintain accurate and continuous billing periods, the system automatically validates bill cycle data during creation and update. These checks are designed to help users identify potential issues early, while also providing visibility into any date adjustments made by the system.
Errors
1. Invalid Date Range (Start Date vs End Date)
- The system will block creation or update if -
- The start date is later than the end date, or
- The end date is earlier than the start date
Example -- Start Date - 01 Mar 2027
- End Date - 19 Feb 2027

2. Overlapping Periods
The system prevents creation or update of bill cycles that overlap with any other bill cycle periods. This validation ensures that each date belongs to only one bill cycle, maintaining accurate transaction grouping and reporting.

When users perform bulk creation, the system also validates overlaps within the preview of generated cycles before creating

Warnings
Warning alerts highlight potential issues in bill cycle configuration that do not prevent creation, but should be reviewed by the user.
1. Bill Cycle Exceeds Expected Duration (31 Days)
- The system checks whether a bill cycle exceeds the expected duration for a monthly cycle.
Trigger Condition -- A bill cycle is longer than 31 days
Example -
- A bill cycle is longer than 31 days

2. Gap in Bill Cycle Continuity
- The system checks whether there are gaps between consecutive bill cycles.
- A yellow dashed line is shown between the affected bill cycles
- Indicates a break in continuity
- Visible in -
- Preview Modal (Draft cycles)

Bill Cycle List View (Existing cycles)

Information
Info alerts provide visibility into automatic system adjustments as well as manual updates made by the user. These alerts are informational only and do not indicate errors. They help users understand how the final bill cycle dates were determined.
Examples of Info Scenarios
- Start date moved because the selected day does not exist in the month
- End date adjusted due to weekend handling
- User updates start date during edit
- User modifies end date to correct period coverage
- User adjusts generated dates after reviewing preview

Combination of Alerts (Priority Handling)
In some scenarios, multiple validation results may apply to the same bill cycle (e.g., error, warning, and info). To ensure clarity and avoid overwhelming users, alerts are displayed based on priority hierarchy, while still preserving full visibility through tooltips.
Alerts are displayed in the following order of importance -
- Error (Highest Priority)
- Warning
- Info (Lowest Priority)