All applications583

Find your application

583 applications

Open full catalog

Browse applications by category or open the full catalog.

  1. Expense Reporting System
  2. Data model
Reference

The tables behind Expense Reporting System

Expense Reporting System ships with 18 tables, grouped here by the feature that uses them. Every record your team works with lives in one of them, and you can add fields and tables in Proto.

Tables
18
Features
6
Change it
Add fields and tables in Proto

Every table, by feature

Expense capture

6 tablesAbout this feature
  • Expense reports

    The submitter’s report header. One report aggregates many expense lines for a single trip, project, or pay period. Lifecycle: Draft → Submitted → approved by mgr → approved by finance → Reimbursed; with branches Held and Rejected. Reimbursed is set when the downstream Payroll or AP cycle confirms payment.

    Linked to Employees, Expense policies (resolved at submit by submitter scope)
  • Expense lines

    The line grain. One row per receipt / per per-diem day / per mileage trip. Carries the GL coding, project costing, approved amount (set by the approver — may differ from Amount when a partial disallowance applies), and payment method (out of pocket vs corporate card) that drives the reimbursement branch.

    Linked to Expense reports, Expense categories, Per diem rates, Card transactions (set on match)
  • Receipts

    The supporting documentation — phone snap, PDF, emailed receipt forwarded to a capture inbox. OCR runs on upload and backfills the parsed fields; the submitter (or auto-fill on high-confidence parse) writes the canonical values onto the expense line.

    Linked to Expense lines
  • Card transactions

    The daily transaction feed from the card program. One row per posted swipe / charge / refund. New rows land via the card-transaction-feed-import workflow with Status: Unmatched; the card-txn-to-expense-line-match workflow advances them to Matched on a unique expense line pairing.

    Linked to Corporate cards, Expense lines (set when matched)
  • Mileage entries

    One row per business trip drive. Either the user enters From / To addresses and the mileage-calculation-from-google-maps workflow computes Miles, or the user enters Miles directly with an odometer-style override. Calculated reimbursement uses the active mileage rates row for the entry date’s tax year.

    Linked to Expense lines (the auto-created Mileage line), Vehicles, Mileage rates (resolved from EntryDate.year)
  • Meals and entertainment

    The meals and entertainment classification log for tax review. One row per expense line where Category.MealsAndEntertainment = true. Carries the attendee list and business purpose required for the deduction; drives the M&E memo on the GL posting and the M&E detail report.

    Linked to Expense lines

Expense policies

6 tablesAbout this feature
  • Expense policies

    Policy header. Scope: Org / Department / Role. One default Org policy plus targeted overrides. Active policies are evaluated by policy-violation-flag on every line submission.

  • Policy rules

    The declarative rules. One row per per-diem cap, alcohol limit, weekend trigger, single-meal ceiling, receipt-required override, or M&E attendee-list requirement. Each rule has a Severity that governs whether it warns, requires justification, or blocks submission.

    Linked to Expense policies, Expense categories (null = all), Per diem rates (when RuleType = PerDiemCap)
  • Expense categories

    The category catalog. Drives default GL coding, receipt-required threshold per category, M&E classification flag, and per-category policy hooks. Active categories appear in the line-entry picker.

  • Policy violations

    One row per breached policy rules row per expense line. The policy-violation-flag and fraud-pattern-detection workflows write these. Violation count on the parent report rolls up. Severity governs the submission gate — Block prevents the submitter from advancing the report.

    Linked to Expense lines, Policy rules, Employees (the approver who passed it through)
  • Expense reports

    The submitter’s report header. One report aggregates many expense lines for a single trip, project, or pay period. Lifecycle: Draft → Submitted → approved by mgr → approved by finance → Reimbursed; with branches Held and Rejected. Reimbursed is set when the downstream Payroll or AP cycle confirms payment.

    Linked to Employees, Expense policies (resolved at submit by submitter scope)
  • Expense lines

    The line grain. One row per receipt / per per-diem day / per mileage trip. Carries the GL coding, project costing, approved amount (set by the approver — may differ from Amount when a partial disallowance applies), and payment method (out of pocket vs corporate card) that drives the reimbursement branch.

    Linked to Expense reports, Expense categories, Per diem rates, Card transactions (set on match)

Mileage and travel

7 tablesAbout this feature
  • Mileage entries

    One row per business trip drive. Either the user enters From / To addresses and the mileage-calculation-from-google-maps workflow computes Miles, or the user enters Miles directly with an odometer-style override. Calculated reimbursement uses the active mileage rates row for the entry date’s tax year.

    Linked to Expense lines (the auto-created Mileage line), Vehicles, Mileage rates (resolved from EntryDate.year)
  • Mileage rates

    The per-tax-year mileage reimbursement rate. Defaults to the IRS standard mileage rate published annually (e.g. 67¢/mi for 2024, 70¢/mi for 2025); a company-override row supersedes the IRS row for a given year and RateScope.

  • Per diem rates

    GSA-style per-diem rates by US city / locality and effective fiscal year. Drives the PerDiemCap Policy rules rows for Lodging, M&IE, and Conference per-diem. Refreshed annually from the GSA per-diem publication.

  • Vehicles

    The submitter’s registered personal vehicle(s) used for business mileage. Mileage entries reference one Vehicle so the audit trail captures which car drove which trip.

    Linked to Employees
  • Expense lines

    The line grain. One row per receipt / per per-diem day / per mileage trip. Carries the GL coding, project costing, approved amount (set by the approver — may differ from Amount when a partial disallowance applies), and payment method (out of pocket vs corporate card) that drives the reimbursement branch.

    Linked to Expense reports, Expense categories, Per diem rates, Card transactions (set on match)
  • Expense reports

    The submitter’s report header. One report aggregates many expense lines for a single trip, project, or pay period. Lifecycle: Draft → Submitted → approved by mgr → approved by finance → Reimbursed; with branches Held and Rejected. Reimbursed is set when the downstream Payroll or AP cycle confirms payment.

    Linked to Employees, Expense policies (resolved at submit by submitter scope)
  • Meals and entertainment

    The meals and entertainment classification log for tax review. One row per expense line where Category.MealsAndEntertainment = true. Carries the attendee list and business purpose required for the deduction; drives the M&E memo on the GL posting and the M&E detail report.

    Linked to Expense lines

Approval workflow

6 tablesAbout this feature
  • Expense reports

    The submitter’s report header. One report aggregates many expense lines for a single trip, project, or pay period. Lifecycle: Draft → Submitted → approved by mgr → approved by finance → Reimbursed; with branches Held and Rejected. Reimbursed is set when the downstream Payroll or AP cycle confirms payment.

    Linked to Employees, Expense policies (resolved at submit by submitter scope)
  • Expense lines

    The line grain. One row per receipt / per per-diem day / per mileage trip. Carries the GL coding, project costing, approved amount (set by the approver — may differ from Amount when a partial disallowance applies), and payment method (out of pocket vs corporate card) that drives the reimbursement branch.

    Linked to Expense reports, Expense categories, Per diem rates, Card transactions (set on match)
  • Expense approval steps

    The audit trail of approver actions on the report. One row per step in the chain — Manager, Finance Reviewer, optionally Controller for high-value. Each step records who approved / rejected / held, when, and what they wrote in the comment.

    Linked to Expense reports, Employees
  • Policy violations

    One row per breached policy rules row per expense line. The policy-violation-flag and fraud-pattern-detection workflows write these. Violation count on the parent report rolls up. Severity governs the submission gate — Block prevents the submitter from advancing the report.

    Linked to Expense lines, Policy rules, Employees (the approver who passed it through)
  • Receipts

    The supporting documentation — phone snap, PDF, emailed receipt forwarded to a capture inbox. OCR runs on upload and backfills the parsed fields; the submitter (or auto-fill on high-confidence parse) writes the canonical values onto the expense line.

    Linked to Expense lines
  • Employees

    A scoped employee identity directory synchronized from the organization identity or HR source. This reference supports ownership and approval attribution; it does not add payroll or HR administration. Role membership alone never grants access to every directory field. External auditors and portal users receive only the identities needed for their granted work.

Reimbursements

5 tablesAbout this feature
  • Reimbursements

    The paid-out record. One row per expense report per reimbursement channel. Reimbursement method selects whether the cash leg rides the next Payroll run as an OneTimePayment or the next AP cycle as a separate ACH PaymentsMade against the Employee-as-Vendor record. Reimbursement method copies from expense policy reimbursement channel at creation but persists independently — policy changes after report submission do not retro-route an in-flight reimbursement. The dual-destination pattern (payroll one time payment ref vs payment run ref) means an in-flight reimbursement keeps its original routing path.

    Linked to Expense reports, Employees
  • Expense reports

    The submitter’s report header. One report aggregates many expense lines for a single trip, project, or pay period. Lifecycle: Draft → Submitted → approved by mgr → approved by finance → Reimbursed; with branches Held and Rejected. Reimbursed is set when the downstream Payroll or AP cycle confirms payment.

    Linked to Employees, Expense policies (resolved at submit by submitter scope)
  • Expense lines

    The line grain. One row per receipt / per per-diem day / per mileage trip. Carries the GL coding, project costing, approved amount (set by the approver — may differ from Amount when a partial disallowance applies), and payment method (out of pocket vs corporate card) that drives the reimbursement branch.

    Linked to Expense reports, Expense categories, Per diem rates, Card transactions (set on match)
  • Expense approval steps

    The audit trail of approver actions on the report. One row per step in the chain — Manager, Finance Reviewer, optionally Controller for high-value. Each step records who approved / rejected / held, when, and what they wrote in the comment.

    Linked to Expense reports, Employees
  • Employees

    A scoped employee identity directory synchronized from the organization identity or HR source. This reference supports ownership and approval attribution; it does not add payroll or HR administration. Role membership alone never grants access to every directory field. External auditors and portal users receive only the identities needed for their granted work.

Corporate cards

7 tablesAbout this feature
  • Corporate cards

    Issued company cards. One Cardholder per card; a Cardholder may hold multiple cards. Card last4 is the only card-number field stored — the full PAN never enters the system (the card-program integration uses tokenized references).

    Linked to Employees
  • Card transactions

    The daily transaction feed from the card program. One row per posted swipe / charge / refund. New rows land via the card-transaction-feed-import workflow with Status: Unmatched; the card-txn-to-expense-line-match workflow advances them to Matched on a unique expense line pairing.

    Linked to Corporate cards, Expense lines (set when matched)
  • Card reconciliations

    Period-end (typically monthly) reconciliation per corporate card. Compares the issuer statement balance to the sum of imported card transactions. On Controller-approved reconciliation, advances all eligible in-period card transactions from Matched → Reconciled and the corresponding AP Bills row to the card issuer is marked ready for payment.

    Linked to Corporate cards, Employees, Employees (Controller / CFO signs the reconciliation)
  • Expense reports

    The submitter’s report header. One report aggregates many expense lines for a single trip, project, or pay period. Lifecycle: Draft → Submitted → approved by mgr → approved by finance → Reimbursed; with branches Held and Rejected. Reimbursed is set when the downstream Payroll or AP cycle confirms payment.

    Linked to Employees, Expense policies (resolved at submit by submitter scope)
  • Expense lines

    The line grain. One row per receipt / per per-diem day / per mileage trip. Carries the GL coding, project costing, approved amount (set by the approver — may differ from Amount when a partial disallowance applies), and payment method (out of pocket vs corporate card) that drives the reimbursement branch.

    Linked to Expense reports, Expense categories, Per diem rates, Card transactions (set on match)
  • Receipts

    The supporting documentation — phone snap, PDF, emailed receipt forwarded to a capture inbox. OCR runs on upload and backfills the parsed fields; the submitter (or auto-fill on high-confidence parse) writes the canonical values onto the expense line.

    Linked to Expense lines
  • Employees

    A scoped employee identity directory synchronized from the organization identity or HR source. This reference supports ownership and approval attribution; it does not add payroll or HR administration. Role membership alone never grants access to every directory field. External auditors and portal users receive only the identities needed for their granted work.

Migration order

  1. Employees, expense policies, policy rules and expense categories establish ownership and the governing rules.
  2. Vehicles, mileage rates and per diem rates retain reviewed travel references and effective intervals.
  3. Corporate cards and card transactions preserve card assignment and stable issuer transaction identities.
  4. Expense reports, expense lines, Receipts, mileage entries and meals and entertainment retain the claim and its evidence.
  5. Policy violations and expense approval steps retain findings and revision-specific decisions.
  6. Reimbursements and card reconciliations preserve the separate employee and issuer settlement trails.

Financial identity

Employee payable amount includes eligible approved out of pocket, Mileage and per diem lines and excludes company-card costs. A stable source key and external confirmation reference prevent duplicate reimbursement. Preserve approved report revisions and source calculation bases; correction must not silently rewrite earlier decisions.

Set up Expense Reporting System your way.

Start free, then use Proto to change fields, steps and approvals before your team goes live.

How to get started

A personal agent for your business

Get started with Proto

Your app is selected. Download Proto, then open it with this context.

Selected appExpense Reporting System

Choose your computer’s platform.

Download Proto

Install Proto, then return to this panel.

Already installed? Open Proto

Free to use. Your own model provider may charge for usage.