Billing model overview
Understanding how billing works in Fluent — from tracked time to invoices.
Billing model overview
Fluent’s billing system is designed to handle the complexity of interpreter services billing, where every client may have different rate structures, minimums, and rules.
How billing flows in Fluent
The billing process follows this path:
Appointment Complete → Voucher Submitted → Time Reviewed → Invoice Generated → Payment Tracked
1. Time tracking
When an appointment completes, the interpreter submits a voucher with:
- Actual start time
- Actual end time
- Any notes or adjustments
- Client signature (optional)
2. Rate application
Fluent applies the appropriate rates based on:
- Customer rate package
- Service type (in-person, phone, video)
- Language pair
- Time of day (if you have after-hours rates)
- Special modifiers
3. Invoice generation
Completed appointments roll into invoices:
- Group by customer
- Group by billing period
- Apply billing rules (minimums, rounding, etc.)
- Calculate totals
4. Payment tracking
Track invoice status through payment:
- Sent/Unsent
- Paid/Unpaid/Partially Paid
- Overdue
Rate packages
A rate package defines how to bill (and optionally pay) for appointments. Rate packages include:
Hourly rates
- Base rate: Standard hourly rate
- Service-specific rates: Different rates for in-person vs. phone vs. video
- Language-specific rates: Premium rates for rare languages
Minimums
- Minimum duration: Bill for at least X hours (e.g., 2-hour minimum)
- Minimum charge: Bill at least $X regardless of duration
Increments
- Billing increment: Round up to the nearest X minutes (e.g., 15-minute increments)
- After minimum: Different increment rules after the minimum is met
Travel
- Travel time: Billable hours for travel
- Mileage: Per-mile rate for distance
- Travel minimum: Minimum travel charge
Assigning rate packages
Rate packages can be assigned at multiple levels:
- Organization default — Applies when nothing more specific is set
- Customer rate — Specific rates for a customer
- Appointment override — One-off rate for a specific appointment
The most specific rate always wins.
Example calculation
Consider an appointment with these parameters:
- Duration: 1 hour 20 minutes
- Customer rate: $60/hour, 2-hour minimum, 15-min increments
Calculation:
- Actual time: 1h 20m
- Round to increment: 1h 30m (next 15-min boundary)
- Apply minimum: 2h (minimum is higher)
- Total charge: 2 × $60 = $120
Invoice structure
A Fluent invoice includes:
Header
- Customer name and address
- Invoice number and date
- Billing period
- Due date
Line items
Each appointment becomes a line item with:
- Date and time
- Service type
- Duration (as billed)
- Rate
- Amount
- Interpreter name (optional)
Summary
- Subtotal
- Any discounts or adjustments
- Tax (if applicable)
- Total due
Payment terms
Configure payment terms per customer:
- Net 15, Net 30, Net 45, etc. — Days until payment is due
- Due on receipt — Payment expected immediately
Billing vs. payroll
Fluent keeps billing and payroll separate but connected:
- Billing = What you charge customers
- Payroll = What you pay interpreters
These can have completely different rate structures, and Fluent calculates both from the same appointment data.
Learn about specific rate configurations in Rate packages.