Skip to content

RELEASE PLAN — PHASE 13

VietGara — Money & Insight

Version 13.0 — October 9, 2026 · Cloud: Google Cloud Platform (GCP) · Backend: Go

The thermal printing, LAN printing and print agent that shared this phase in an earlier plan are in Phase 14.

1. Introduction

  • Garage: who still owes me money, and how do I chase it without phone calls? Whom do I owe? How is each technician doing, and what did each job earn?
  • Customer: how do I see or delete my data?

The receivables model replaces the outstandingOnly filter that has served FR-REC-01 since Release 1.4. Reminders go out by e-mail (Release 10.1) and push (Release 11.0); SMS and Zalo are added with Phase 16. Insurer receivables return with the insurance module in Phase 17.

2. Overview of the 2 Releases

ReleaseNameMain ModulesDemoable Value
13.0Receivables, Payables & Purchase OrdersReceivables, Billing, InventoryOverdue receivables are reminded automatically; reconciliation and Excel; supplier payment vouchers; purchase orders from low stock
13.1Garage Insights & Customer Self-serviceReporting, Customer, IdentityTechnician performance and profit per job; customers view or delete their data; link a Google account

3. Release Details

Release 13.0 — Receivables, Payables & Purchase Orders

  • Backend:
    • a dedicated Receivables module (HLD module #9) with its own persisted state, replacing the outstandingOnly filter (FR-REC-01);
    • FR-REC-03: scheduled automated reminders by e-mail and push on the configured schedule (for example 3 and 7 days overdue), consent-aware, each logged once;
    • FR-REC-04: a reconciliation export, and the receivables Excel export that FR-DOC-02 deferred;
    • FR-BIL-07: payment-out vouchers (phiếu chi) with their own numbering, for example paying a supplier after a stock receipt, linked to the supplier and printable (A4 and A5 templates).
  • Frontend (web console and owner app): a full receivables screen filterable by customer and overdue; the reminder schedule; payment-out vouchers on partners and stock receipts.
  • Definition of Done: overdue receivables trigger reminders on the configured schedule; the reconciliation export matches the settlements and vouchers of the period; a supplier payment prints a numbered phiếu chi.
  • Purchase orders (FR-INV-16). From the low-stock list, create a purchase order per supplier (lines, quantities in the part’s units, expected date). It is printable and e-mailed to the supplier. (A linked supplier user will see it in the supplier portal of Phase 17.) Receiving against a purchase order pre-fills a goods receipt (Release 7.0).
  • Supplier payables (FR-INV-17). Each completed goods receipt creates payables per supplier of its lines; payment-out vouchers allocate against it. A payables list by supplier and age, and a payables Excel export.

Release 13.1 — Garage Insights & Customer Self-service

  • Backend:
    • technician performance report (FR-RPT-02): completed lines and average turnaround per technician;
    • personal-data subject requests (FR-CUS-05, per the Compliance Checklist) to view, correct or delete data, logged with the outcome. Deletion anonymizes the personal fields of the customer and its vehicles while keeping the financial documents the law requires; soft deletion alone is not erasure;
    • link and unlink a Google account to an e-mail user (FR-IAM-06).
  • Frontend: the technician report on the web console and in the owner app; data requests in the Customer App and on a public page for customers without the app, confirmed by e-mail; Google linking on the user screens.
  • Definition of Done: an owner sees each technician’s completed lines for last month; a customer’s deletion request is processed and logged, and the personal fields are gone while the settlements remain; a Google account can be linked and then used to sign in.
  • Profit per repair order and per job (FR-RPT-05). Revenue less the cost snapshots of the consumed parts (Release 7.0), shown on the repair order and in a report by period, job and technician; visible only with inventory.cost.read.

4. Dependency Diagram

flowchart TD
  P12(["Phase 12 complete"]) --> R130["Release 13.0<br/>Receivables, payables, purchase orders"]
  P12 --> R131["Release 13.1<br/>Insights + self-service"]
  R130 --> DONE(["Phase 13 complete"])
  R131 --> DONE

Releases 13.0 and 13.1 touch different modules and can run in parallel. Profit per repair order depends on the cost snapshots of Release 7.0.