Browse docs

Advanced Billing

Configure estimates, deposits, partial payments, detailed invoice positions, limits, due dates, reminders, and workshop accounting.

Advanced Billing turns the mechanic tablet into a complete workshop invoicing workflow. Mechanics can invoice completed vehicle work or create their own invoice for a nearby customer without connecting a vehicle.

Configure the feature per mechanic job under /jobconfigMechanic JobsBilling. The shipped defaults are available in each job's billingSettings block in Config.Jobs; Config.Billing remains the fallback when no per-job value is available.

Estimates and invoices

Mechanics can choose between two document types:

TypeBehavior
EstimateSent to the customer for acceptance or rejection and expires after the configured lifetime
InvoiceImmediately payable and assigned the configured due date

When a customer accepts an estimate, it becomes an invoice, receives its deposit requirement, and starts a new payment term. Declined, expired, or cancelled documents retain their accounting positions without permanently blocking the related workshop work from being invoiced again.

Deposits and partial payments

depositPercent defines the required first payment. The server prevents a smaller first payment from bypassing that deposit.

When allowPartialPayments is enabled, customers can make multiple cash or card payments. Every successful payment is stored separately with its amount, payment method, payer, and timestamp. The invoice tracks:

  • Total amount
  • Amount paid
  • Required and remaining deposit
  • Outstanding balance
  • Final payment status

minimumPartialPayment prevents meaningless small installments while still allowing a smaller final balance or exact remaining deposit.

Detailed and custom invoice positions

Invoices can combine existing unbilled maintenance work, configured custom positions, and mechanic-created positions. An own position contains:

  • Label
  • Category
  • Cost type such as part, labor, service, or fee
  • Quantity
  • Unit price

Set allowManualItems and maximumManualItems to control whether mechanics may create these positions and how many they may add. A manually selected nearby customer allows a complete invoice to be created without a connected vehicle.

Limits and grade permissions

Global billing settings define the basic boundaries:

SettingPurpose
minimumInvoiceAmountSmallest permitted document total
maximumInvoiceAmountGlobal document ceiling
maxDiscountPercentGlobal discount ceiling
taxPercentTax applied after the discount
allowImmediatePaymentEnables direct invoice payment
allowEstimatesEnables estimate creation
allowPartialPaymentsEnables deposits and installments
allowAnalyticsDefault access to billing reports

gradeRules can further restrict each mechanic grade. A rule can set its own invoice and discount maximum and allow or deny estimates, own positions, cancellations, reminders, and accounting analytics.

The normal CREATE_BILLING, MANAGE_BILLING, and CANCEL_BILLING job permissions continue to apply. Grade rules narrow those permissions; they do not grant a permission the player does not already have.

Due dates and reminders

defaultDueDays controls when an invoice becomes overdue. Authorized mechanics can send a reminder only after reminderGraceDays have elapsed.

Every reminder can add reminderFee, is stored on the invoice, and cannot be repeated until the configured grace period has elapsed again. maximumReminders limits the complete reminder chain. When the customer is online, the reminder reopens the updated invoice so it can be paid immediately.

Accounting and tablet analytics

The billing ledger stores invoice totals, line categories, tax, discounts, reminder fees, payment state, and every individual payment. Authorized grades can view the configured analyticsPeriodDays in the tablet, including:

  • Invoiced revenue
  • Paid and outstanding amounts
  • Overdue invoice count
  • Open estimates
  • Discounts, tax, and reminder fees
  • Top invoice categories by quantity and revenue

Advanced Pricing profit analysis remains available separately in the Parts Shop tablet for supplier cost, labor, margin, refunds, and net profit.

  1. Configure the billing defaults and grade rules in JobConfig.
  2. Give the intended grades the billing permissions.
  3. Create and accept a test estimate.
  4. Pay the required deposit and complete the balance with a second payment.
  5. Create an own invoice for a nearby player without a vehicle.
  6. Test invoice limits, discount limits, expiry, cancellation, overdue status, and reminder spacing.
  7. Verify the payment ledger and tablet analytics.