Eight role dashboards over one database: in-house financing, unit and parts inventory, payables and payroll. Sample records throughout.
Eight dashboards, one system
Every desk opens on its own view. Pick one.
| Role | Opens on | Can approve |
|---|---|---|
| Owner | balance sheet, overrides | everything |
| Branch manager | branch targets, edit requests | edit requests |
| Finance | applications queue, escalations | financing |
| Credit investigator | investigation queue | CI result |
| Cashier | payments, collection targets | — |
| Sales agent | my applications | — |
| Secretary | OR/CR documents | — |
| Inventory | units, parts, small items | stock adjustments |
Sales agent dashboard
- Applicant A-0098To Be Approved by C.I.
Submitted 3 days ago.
- Applicant A-0101Management Review
Escalated after the CI report.
- Applicant A-0104Ready for Unit Release
Unit U-2301 reserved.
Financing applications
Click a card to move it along. The real lifecycle has 32 states — the board groups them into the phases a human thinks in.
Application 2
Credit investigation 1
Approval 1
Contract & downpayment 1
Release 1
Click a card to move it along.
Every move appends to the application's own audit trail with the role that acted.
| Reference | Unit | Status | Agent | Days open |
|---|---|---|---|---|
| A-0101 | U-2305 | Management Review | Agent 02 | 3 |
| A-0098 | U-2309 | To Be Approved by C.I. | Agent 05 | 3 |
| A-0104 | U-2301 | Release Checklist Complete | Agent 02 | 11 |
| A-0106 | U-2307 | Downpayment Confirmed | Agent 01 | 8 |
Open a row to walk one application.
The application lifecycle
This is the whole of it. Writing the states down is most of the work — an in-house financing account can be rejected at three different levels, fall into arrears, be repossessed, and be resold.
Origination
- 1Draft
- 2To Be Approved by C.I.
- 3Management Review
- 4Final Approval
- 5Approved
- 6Contract Signing
- 7Contract Signed
- 8Downpayment Received
- 9Downpayment Confirmed
- 10Ready for Unit Release
- 11Release Checklist Complete
- 12Unit Released
Registration documents
- 1OR/CR Pending from LTO
- 2OR/CR on Hold
- 3OR/CR Copy Released
- 4OR/CR Original Released
Collection and recovery
- 1Due
- 2Past Due (Days 1-3)
- 3Late Notice (Week 1)
- 4Pre-Repossession (Month 1)
- 5For Repossession or Resale
- 6Repossession in Progress
- 7Repossessed
- 8Resold
Closure
- 1Closure Request Pending
- 2Fully Paid
- 3Account Closed
Rejection
Which level rejected it matters, so each is its own state.
- 1Rejected (C.I. level)
- 2Rejected (Management Review)
- 3Rejected (Owner level)
- 4Contract Rejected
- 5Release on Hold
Applicant A-0101
Applicant
- Reference
- A-0101
- Status
- Management Review
- Agent
- Agent 02
- Credit score
- sample
- Co-maker
- on file
Loan
- Unit
- U-2305
- Downpayment
- sample
- Term
- sample months
- Schedule
- generated on approval
- Insurance
- financed
data model Application
customer / spouse / coMaker / referencesobjectthe people a decision rests onincome / expensesobjectcapacity, not just willingnessciReport / creditScoreobject · numberloanDetails / paymentScheduleobjectdocuments / paymentsarrayauditTrailarraywho did what, kept on the record itselflinked_repossessed_unit_idrefa resold repossessed unit keeps its historyAudit trail
- today 11:02Escalated to Management ReviewFinance 01
CI report attached
- yesterdayCredit investigation completedCI 03
- 3 days agoApplication submittedAgent 02
Unit inventory
| Unit | Model | Condition | Status | OR/CR |
|---|---|---|---|---|
| U-2301 | sample model A | new | Reserved | pending |
| U-2302 | sample model A | new | Available | — |
| U-2305 | sample model B | new | Available | — |
| U-2318 | sample model B | repossessed | Released | original released |
| U-2320 | sample model C | second_hand | Sold | copy released |
data model Unit
chassis_number / engine_numberstringthe two numbers the registration office cares aboutproduct_code / si_numberstringconditionenumnew · second_hand · repossessedstatusenumAvailable · Reserved · Released · Fully Paid · Repossessed · Cancelled · Soldcost_price / selling_price / srpnumberunit_cost_with_delivery_feenumberlanded cost, so margin is honesttools_status / warranty_statusenumUnit U-2301
- Unit
- U-2301
- Status
- Reserved
- Buyer
- Applicant A-0104
- Chassis
- sample
- Engine
- sample
- OR/CR
- pending from LTO
Where the unit has been
- 1Purchase order
- 2Delivery received
- 3Available
- 4Reserved
- 5Released
- 6Fully paid
Parts, small items & adjustments
| SKU | Part | On hand | Reorder level | Unit |
|---|---|---|---|---|
| SKU-1042 | sample part A | 18 | 10 | piece |
| SKU-1055 | sample part B | 4 | 12 | box |
| SKU-1061 | sample part C | 0 | 6 | set |
data model Part · StockAdjustment
quantity_on_hand / reorder_level / reorder_quantitynumberwholesale_qty / wholesale_pricenumberprice breaks are data, not a formula in a reportunitenumpiece · box · setadjustment_type / reasonenum · stringstock never moves without a reasonadjusted_by / adjustment_dateauditPayables, expenses & balance sheet
Payables by week
| Payable | Vendor | Due | Terms | Status |
|---|---|---|---|---|
| AP-0310 | Supplier 02 | 12 Apr | 30 days | Pending |
| AP-0311 | Utilities | 15 Apr | on receipt | Pending |
| AP-0305 | Supplier 01 | 01 Apr | 30 days | Overdue |
| AP-0298 | Supplier 04 | — | 30 days | Partial |
data model Payable
statusenumPending · Paid · Overdue · Partialestimated_invoice_amount vs actual_payment_amountnumberthe gap is the thing worth reportingpayment_discrepancy_reasonstringpo_reference / delivery_reference / or_numberrefPayroll, attendance & commissions
| Run | Period | Lines | Total payout | Status |
|---|---|---|---|---|
| PR-0042 | 01–15 Apr | 36 | sample | Finalized |
| PR-0043 | 16–30 Apr | 36 | sample | Draft |
data model PayrollRun · Commission
statusenumDraft · Finalizedlinesarraya frozen snapshot per employee, so a finalized run never changesfinalized_by / finalized_atauditcommission_rate / sales_amount / commission_amountnumbercommission statusenumpending · approved · paidEdit requests & approvals
The answer to "a cashier posted the wrong amount": not a direct edit, a request someone approves.
| Request | Entity | Action | Requested by | Status |
|---|---|---|---|---|
| ER-0231 | unit | edit | Cashier 02 | pending |
| ER-0230 | attendance_record | edit | Secretary 01 | approved |
| ER-0228 | purchase_order | delete | Inventory 01 | rejected |
data model EditRequest
entity_typeenumunit · part · small_item · purchase_order · delivery · attendance_recordactionenumedit · deletechangesjsonthe proposed diff, reviewable before it landsreasonstringstatusenumpending · approved · rejectedreviewed_by / review_note / reviewed_atauditOwner controls
- Calamity overrideowner only
Relieves payment schedules across a date range for an affected area, and records why.
- Bulk importadmin
Staged into an ImportBatch so a bad file can be rolled back.
- Audit trailread-only
Role and timestamp on every sensitive change, system-wide.