Help & Documentation
Introduction
Overview
The Expense Claim System is a web-based platform for submitting, approving, paying, and reconciling expense claims within organisations. Each company has its own users, categories, approval rules, and (when billing is enabled) its own subscription.
The system is intended for:
- Employees who submit expense claims and upload receipts
- Approvers, payers, and reconcilers who process claims through the workflow
- Company owners who manage users, categories, billing, and company settings
Key Features
- Single-company assignment — Each user belongs to exactly one company (nullable only during initial onboarding).
- Company-scoped workflows — All expense activity is within that one organisation.
- Role-based access — Roles (Owner, Submitter, Approver, Global Approver, Payer, Reconciler, Overseer) control which pages and actions each user can access.
- Full claim lifecycle — Draft → Submit → Approve → Pay → Reconcile, with audit trails at each step.
- Receipts and attachments — Upload, view, and edit receipt images on claims.
- Mileage claims — Optional mileage expense lines with company-defined rates (when enabled).
- Category-based approvals — Assign approvers per category and subcategory; configure approver restrictions where needed.
- Telegram notifications — Link a Telegram bot for instant claim status updates.
- Email notifications — Account verification, invitations, password reset, and subscription lifecycle emails (when configured).
- Reports and export — Company dashboards and CSV/Excel export from claim lists.
- Subscriptions (optional) — 30-day free trial, grace period, Stripe Checkout and Customer Portal for company owners when Stripe is enabled.
- Read-only fallback — After trial/grace expires, users can still view and export data while write access is restored via subscription.
- Audit and activity logging — Key actions are recorded for transparency and compliance.
- Responsive design — Works on desktop and mobile browsers.
Getting Help
Open Help from the navigation menu to browse this documentation. For privacy information, see the Privacy Policy page.
Getting Started
Accessing the Website
- Open a modern web browser (Chrome, Edge, Firefox, or Safari recommended).
- Go to the URL provided by your organisation or use the hosted Expense Claim System address.
- The site is responsive and works on desktop and mobile devices.
Creating an Account
New users can register in several ways:
Start a free trial (new company)
- From the home page, click Start Free Trial.
- Complete registration with your email and password (or sign in with a supported external provider).
- Confirm your email address if email confirmation is required.
- On the Welcome onboarding page, enter a company name and click Create Company.
- You become the Owner of the new company and receive a 30-day free trial when billing is enabled.
Join via invite link
- Your company owner shares an invite link from Manage Users (when invite codes are enabled for the company).
- Open the link and complete registration.
- You are added to that company with roles assigned by the owner.
Join with an invite code
- After logging in, if you have no company yet, go to the onboarding page.
- Enter the invite code provided by your company owner and click Join Company.
Logging In
- Click Login from the home page or navigation bar.
- Sign in using one of the available methods:
- Email and password — ASP.NET Identity local account
- Google, Microsoft, or Facebook — When enabled by the site administrator
- If you use an external provider for the first time, your account may be created or linked automatically.
- After login, if you already belong to a company, you are taken straight to the dashboard. If not, complete onboarding to create or join a company.
Development mode: When running locally with fake authentication enabled, developers may use simplified login pages instead of production Identity flows.
First Steps After Login
The home dashboard shows a Company setup checklist for owners until basic setup is complete:
- Your name — Complete your profile (first and last name).
- Categories — Create at least one expense category.
- Other users — Invite at least one colleague.
- Mileage rate — Define a mileage reimbursement rate (if mileage claims are enabled).
Use the dashboard cards to navigate to My Claims, New Claim, approval pages, and other areas based on your assigned roles.
User Registration Details
- Email confirmation may be required before full access.
- External provider accounts may restrict editing of name or email on the profile page.
- Pending invite users appear on Manage Users until they complete registration.
User Profile Management
Viewing and Editing Profile
- Open Profile from the user menu in the navigation bar.
- View your first name, last name, email, and assigned company.
- Edit first and last name when your account allows it (some external login providers lock these fields).
- Edit email only when permitted; changing email may require re-verification.
- Click Save to update your profile.
Authentication Settings
On the Authentication section of your profile you can:
- Set or change password — For local (email/password) accounts
- Connect external providers — Link Google, Microsoft, or Facebook when offered
- Remove linked providers — Disconnect a provider you no longer use (when at least one sign-in method remains)
- Two-factor authentication (2FA) — Enable or manage 2FA for local accounts via the Identity manage pages
If you signed in only via an external provider and have no local password, use Set password to add email/password sign-in as a backup.
Linking Telegram
- On your profile page, find the Telegram Integration section.
- If not yet linked, copy the short Telegram code displayed (typically 5–6 characters).
- Click Open Telegram Bot or search for the bot name shown on your profile.
- Send
/startto the bot. - When prompted, enter the code from your profile page.
- Reload your profile page — a Bot linked badge confirms success.
Once linked, you receive Telegram notifications for claim submissions, approvals, rejections, and other status changes.
Your Company
Each user is assigned to one company. The profile page shows the company you belong to. You cannot switch to a different company from the app — if you need access elsewhere, contact your administrator or register a separate account.
Company Management
Company administration is available to Owners from the company dropdown in the navigation bar.
Company Menu (Owners)
| Page | Purpose |
|---|---|
| Manage Users | Roles, activation, invite links, resend invitations |
| Manage Categories | Expense categories and subcategories |
| Manage Approvers | Assign approvers per category/subcategory |
| Manage Restrictions | Block specific approvers from approving each other's claims |
| Mileage | Define mileage reimbursement rates (when enabled) |
| Reports | Company expense dashboards |
| Report 2 | Tabular export of all non-draft claims |
| Manage Billing | Stripe subscription and Customer Portal (when billing enabled) |
Viewing Company Details
- The company name appears in the navigation bar for owners.
- User and category counts are reflected in the setup checklist on the home dashboard.
Managing Users and Roles
- Open Manage Users from the company dropdown.
- View all users in a filterable table (search by name, filter by role or status).
- Assign roles using checkboxes:
- Owner — Full company administration and billing
- Submitter — Create and submit claims (unless "Allow Anyone To Submit" is enabled)
- Approver — Approve claims in assigned categories
- Global Approver — Approve any claim in the company
- Payer — Mark approved claims as paid
- Reconciler — Reconcile paid claims
- Overseer — View all claims and audit logs
- Activate or Deactivate users with the status control.
- Check Bot linked badges for Telegram integration status.
- Resend invitation emails to pending users when needed.
Allow Anyone To Submit
When the Allow Anyone To Submit feature is enabled for your company (by a system administrator), any active company member can submit claims without the Submitter role.
Inviting New Users
When Allow Invite Codes is enabled for your company:
- On Manage Users, copy the Invite link shown at the top of the page.
- Share the link with new users by email or chat.
- New users register through the link and join your company automatically.
- Use Regenerate to invalidate the previous link and create a new one.
Alternatively, owners can share a short invite code for users to enter on the onboarding page after registering.
Managing Categories
- Open Manage Categories.
- Add categories (e.g. Travel, Office Supplies) and optional subcategories.
- Categories are required before users can submit claims.
- Edit or remove categories as your organisation's needs change.
Managing Approvers
- Open Manage Approvers.
- For each category and subcategory, assign one or more approvers.
- Subcategory approvers take precedence over category-level approvers for that subcategory.
- Any assigned approver can approve a claim in their scope.
Approver Restrictions
- Open Manage Restrictions.
- Define pairs of approvers who must not approve each other's claims (e.g. family members).
- Review Suggested Restrictions based on shared surnames.
- Restrictions apply at approval time to prevent conflicts of interest.
Mileage Rates
When Allow Mileage Claims is enabled:
- Open Mileage from the company menu.
- Set a rate (e.g. pence per mile) and Effective From date.
- Submitters can add mileage lines to claims; the system calculates reimbursement from your rates.
Company Feature Toggles
Some capabilities are controlled per company by a system administrator:
- Allow Invite Codes — Invite links and codes for onboarding
- Allow Anyone To Submit — Submit without the Submitter role
- Allow Mileage Claims — Mileage expense lines on claims
Contact your platform administrator if a feature you need is not available.
Main Pages and Workflows
Home Dashboard
Purpose: Entry point after login; role-based navigation and company setup guidance.
How to use:
- View subscription status banners when billing is enabled (trial countdown, grace warning, read-only mode).
- Complete the Company setup checklist (owners) — profile name, categories, users, mileage rate.
- Click dashboard cards to reach workflow pages based on your roles.
Dashboard Cards by Role
| Card | Roles |
|---|---|
| My Claims | All authenticated users |
| New Claim | Submitter (or anyone when feature enabled) |
| Approve Expenses / Approved Expenses | Approver, Global Approver |
| Pay Expenses / Paid Expenses | Payer |
| To Reconcile / Reconciled | Reconciler |
| Overseer View / Audit | Owner, Overseer |
My Claims (Expense Claims History)
Purpose: View and manage your own claims.
- Navigate via My Claims in the menu or dashboard.
- Filter by year, category, status, and search text.
- Sort columns as needed.
- Click a claim to view or edit (drafts only).
- Export filtered results to CSV when needed.
Submit Page (New Claim)
Purpose: Create and submit expense claims.
- Click New Claim from the menu or dashboard.
- Enter claim date, title, description, category, and amount.
- Add expense lines (including mileage when enabled).
- Upload and edit receipt images.
- Save as draft or Submit for approval.
In read-only mode (expired subscription), new claims and edits are blocked; viewing and export still work.
Approve Page
Purpose: Review submitted claims awaiting approval.
- Open Approve Expenses.
- Filter by category, subcategory, user, or search.
- Click a claim to open Approve View.
- Review details and receipts.
- Approve or Reject (with a required rejection reason).
See also Approved Expenses for claims already approved.
Pay Page
Purpose: Process payment for approved claims.
- Open Pay Expenses.
- Filter and select claims ready for payment.
- Open Pay View for a claim.
- Mark as Paid or Change Category if reclassification is needed.
- Reject Claim with a reason if payment cannot proceed.
See Paid Expenses for payment history and CSV/Excel export.
Reconcile Pages
Purpose: Finalise claims after payment.
- To Reconcile — Claims marked paid awaiting reconciliation.
- Open Reconcile View, verify payment details, and mark as reconciled.
- Reconciled — View completed reconciliations.
Oversee Page
Purpose: Company-wide visibility for owners and overseers.
- Open Overseer View.
- Filter all company claims by category, status, date, and user.
- Click any claim for read-only detail view.
- Use for monitoring activity and investigating issues.
Audit Page
Purpose: Review audit log entries for compliance.
- Open Audit (Owner or Overseer only).
- Filter by user, date, or action type.
- Review who performed each action and when.
Manage Users Page
See Company Management for user, role, and invite management.
Profile Page
Expense Claims
Creating a New Expense Claim
- Go to New Claim from the menu or dashboard.
- Fill in:
- Claim date — Date the expense was incurred
- Title — Short summary
- Description — Optional details
- Category and subcategory — Required; drives approval routing
- Amount — Total claim amount
- Add one or more expense lines for itemised costs.
- Upload receipts (images or PDFs) and use the built-in editor to crop or adjust images.
- Save to keep as draft, or Submit to send for approval.
Mileage Lines
When your company has Allow Mileage Claims enabled and mileage rates configured:
- Add a mileage expense line on the claim form.
- Enter journey details (start/end or distance as prompted).
- The system calculates reimbursement using the applicable company mileage rate.
Attaching Receipts
- Use the upload area on the claim form.
- Supported formats typically include JPG, PNG, and PDF.
- Multiple receipts can be attached per claim.
- Open the receipt editor to rotate, crop, or adjust images before saving.
- Receipts are stored securely and visible to approvers and payers on the claim.
Editing and Submitting Claims
- Draft claims appear in My Claims and can be opened for editing.
- Update fields, lines, or receipts as needed.
- Click Submit when ready — the claim moves to Submitted status and notifies approvers.
- After submission, the claim cannot be edited by the submitter unless rejected back to them.
Claim Status Lifecycle
| Status | Meaning |
|---|---|
| Draft | Saved but not submitted |
| Submitted | Awaiting approval |
| Approved | Approved; awaiting payment |
| Rejected | Returned with a reason; may be edited and resubmitted |
| Paid | Payment recorded |
| Reconciled | Finalised after reconciliation |
Track status in My Claims or on each claim's detail page. Rejection reasons are shown when a claim is rejected.
Viewing Claim History
- Open My Claims for your own claims.
- Use year and category filters to narrow results.
- Click a row to open claim details.
- Export filtered lists to CSV using the export button.
Read-Only Mode
If your company's subscription trial and grace period have expired without an active subscription, you can still view claims and export data, but cannot create, edit, submit, or approve claims until the company owner subscribes.
Approvals Workflow
Who Can Approve
- Approvers — Assigned to specific categories or subcategories on Manage Approvers
- Global Approvers — Can approve any claim in the company
- Owners — Typically have broad access; overseers view but do not approve unless also assigned approver roles
When a claim is submitted, it routes to approvers configured for its category/subcategory. Any one assigned approver may approve the claim.
Reviewing Claims
- Approvers see pending claims on Approve Expenses.
- Filter by category, subcategory, user, or search text.
- Click a claim to open Approve View.
- Review claim details, expense lines, and attached receipts.
Approving or Rejecting
- In Approve View, verify the claim is complete and valid.
- Click Approve to move the claim to approved status.
- Click Reject to open a modal — enter a rejection reason (required).
- The submitter is notified of the outcome (Telegram when linked; email when configured).
Rejected claims return to the submitter, who can correct and resubmit.
Approver Restrictions
Company owners can configure approver restrictions so certain approvers cannot approve each other's claims (e.g. spouses or family members). If a restriction applies, the system blocks the approval and the approver must ask another eligible approver to act.
Global Approver Role
Users with the Global Approver role can approve any submitted claim regardless of category assignment. Use this sparingly for finance leads or backup approvers.
Notifications and Audit
- All approve/reject actions are recorded in the audit log.
- Submitters receive notifications via Telegram (when linked).
- Owners and overseers can nudge approvers about pending claims via Telegram.
- View audit history on the Audit page (Owner/Overseer).
Read-Only Mode
When the company is in read-only mode due to subscription status, approval actions are blocked. Approvers can still view pending and historical claims and export data.
Payments
Marking Claims as Paid
- Open Pay Expenses (Payer role required).
- Filter for approved claims awaiting payment.
- Click a claim to open Pay View.
- Review amounts, category, and receipts.
- Click Mark as Paid — the claim status updates to Paid.
- Use Reject Claim with a reason if the claim should not be paid.
Changing Categories and Subcategories
Payers can reclassify claims at payment time:
- In Pay View, click Change Category.
- Select the new category and subcategory.
- Save — the change is logged in the audit trail.
Viewing Payment History
- Open Paid Expenses for all paid claims.
- Filter by search text, category, or subcategory.
- Click a claim for full payment details.
Exporting Paid Claims
From Paid Expenses, export the current filtered list:
- Export CSV — Comma-separated file for spreadsheets
- Export Excel — Excel-compatible download
Exports respect active filters (search, category, subcategory).
Reconciliation
After payment, Reconcilers finalise claims on the To Reconcile page.
Read-Only Mode
In read-only mode, payers cannot mark claims as paid or change categories. Paid claim history and exports remain available.
Security and Access Control
User Roles and Permissions
Each user has one or more roles per company. Roles are assigned by the company Owner on Manage Users.
| Role | Typical permissions |
|---|---|
| Owner | Manage users, categories, approvers, restrictions, mileage, reports, billing; oversee and audit |
| Submitter | Create, edit (draft), and submit expense claims |
| Approver | Approve/reject claims in assigned categories |
| Global Approver | Approve/reject any claim in the company |
| Payer | Mark approved claims as paid; change categories at payment |
| Reconciler | Reconcile paid claims |
| Overseer | View all claims and audit logs (read-only oversight) |
A user may hold multiple roles (e.g. Submitter and Approver).
Privacy
See the Privacy Policy page for how personal and expense data is collected, used, and stored.
Notifications and Integrations
Telegram Bot Integration
Telegram provides instant notifications for claim workflow events.
Linking your account
- Open Profile and locate Telegram Integration.
- Copy the short code displayed on your profile.
- Open the Expense Telegram bot (link provided on profile) and send
/start. - Enter the code when prompted.
- Reload your profile — Bot linked confirms success.
What you receive
When linked, notifications may include:
- New claims submitted for your approval
- Claims approved or rejected
- Payment and status updates relevant to your role
- Nudges from owners about pending approvals
Unlinking
Contact your administrator or use profile/support channels if you need to reset Telegram linkage.
Audit Logs
Viewing Audit Logs
- Open Audit from the dashboard or navigation ( Owner or Overseer role required).
- Browse entries showing user actions on claims and company data.
- Filter by user, date range, or action type to find specific events.
Only users with the Owner or Overseer role can access the Audit page in the current system.
What Is Logged
Audit entries are created for significant actions, including:
- Claim submitted, approved, rejected
- Category or subcategory changes on claims
- Payment and reconciliation actions
- Other workflow events recorded by the action log service
Each entry typically includes:
- Who performed the action (user)
- When it occurred (timestamp)
- What changed (action type and details)
Viewing Logs on Individual Claims
Claim detail and workflow pages (Approve, Pay, Reconcile views) may show an audit history section for that specific claim, giving context without leaving the claim.
Using Audit Trails
- Compliance — Demonstrate who approved or paid each claim
- Troubleshooting — Trace why a claim is in a particular status
- Transparency — Resolve disputes about timing or responsibility
Time Display
Timestamps are stored in UTC and displayed in UK (London) time in most views. If your organisation operates in other timezones, interpret displayed times accordingly or confirm display conventions with your administrator.
Free Trial
- When an owner creates a new company, a 30-day free trial starts automatically (no card required).
- During trial, all users have full write access — submit, approve, pay, and manage settings.
- A banner shows days remaining and the trial end date.
- Company owners receive email reminders as the trial approaches its end (when email is configured).
Grace Period
- When the trial ends without a subscription, a 7-day grace period begins.
- Full access continues during grace, with warning banners urging subscription.
- Only the Owner can subscribe; other users are asked to contact the owner.
- Owners receive grace-period email notifications.
Subscribing
Owner only — other roles cannot complete checkout.
- Click Subscribe from the home dashboard banner or navigation billing link.
- Review the plan summary on the Subscribe page.
- Click Continue to secure checkout — you are redirected to Stripe Checkout.
- Enter payment details on Stripe's hosted page (card data is not stored in the Expense Claim System).
- After successful payment, you return to the success page and the company has an active paid subscription.
Subscribing does not start a second trial. Your existing trial progress is unaffected.
Managing Billing
Owners with an active Stripe subscription can open Manage Billing:
- Go to Manage Billing from the company dropdown or dashboard.
- Click Continue to billing portal to open the Stripe Customer Portal.
- In the portal you can:
- Update payment method
- Download invoices
- Cancel or modify the subscription
Changes sync back to the application via Stripe webhooks.
Cancelled Subscription
If the owner cancels in the Stripe portal:
- Full access continues until the end of the current billing period.
- A banner shows the cancellation and remaining days.
- After the period ends, the company moves to read-only mode unless resubscribed.
Read-Only Mode
When trial and grace expire without an active subscription (or payment grace expires):
| Capability | Available? |
|---|---|
| View claims, reports, receipts | Yes |
| Export CSV/Excel | Yes |
| Create or edit claims | No |
| Approve, pay, reconcile | No |
| Manage users or categories | No |
- Owners see a Subscribe button to restore access.
- Other users are told to contact the company owner.
Payment Past Due
If a renewal payment fails:
- Stripe marks the subscription past due.
- A short grace window may retain write access with warnings.
- The owner should update payment details in Manage Billing.
- Owners receive payment failed emails when configured.
Who Sees What
| User | Trial/grace banners | Subscribe / Manage Billing |
|---|---|---|
| Owner | Yes | Yes |
| Other roles | Yes (informational) | No — contact owner message |
Email Notifications
Owners may receive automated emails for:
- Trial ending soon
- Grace period active
- Read-only mode approaching or active
- Payment failed
Templates and timing are configured at the platform level.
FAQ
Do I need a card for the trial?
No — the 30-day trial requires no payment method.
Can each user have their own subscription?
No — billing is at the company level only.
Can I export data in read-only mode?
Yes — viewing and export remain available so you never lose access to historical records.
What happens after I cancel?
Access continues until the paid period ends, then the company enters read-only mode until resubscribed.
Reports and Export
Company Reports
Access: Company Owners (from company dropdown → Reports).
The Reports page provides visual summaries of company expense activity.
Filters
- Timeframe — 1 week, 1 month, 3 months, 6 months, or 1 year
- Click Refresh to reload data for the selected period
Report Content
Typical sections include:
- Status breakdown — Counts or totals by claim status (submitted, approved, paid, etc.)
- Category breakdown — Spend distribution across categories
- Trends over time — Activity within the selected timeframe
Dates are displayed in UK (London) time. The report covers activity from the period start through today.
Report 2 — All Claims Export
Access: Company Owners (company dropdown → Report 2).
Report 2 lists all non-draft expense claims for the company in a table:
- Claim ID, date, title, description
- Category and subcategory
- Amount and status
- Submitted date and submitter
Click Download CSV to export the full table for spreadsheet analysis or archival.
Export from Claim List Pages
Several workflow pages support exporting filtered results:
My Claims
- Apply filters (year, category, search, sort).
- Click Export CSV.
- The download reflects current filter settings.
Paid Expenses
- Filter by search, category, or subcategory.
- Click Export CSV or Export Excel.
- Use for payroll, accounting, or reconciliation handoff.
Exports use the same filters visible on the page — clear filters to export the full list.
Read-Only Mode and Export
Export remains available in read-only mode when subscription access has expired. This ensures companies can retrieve their data even when write operations are suspended.