Phase 2 — Desktop Modules#
Goal: Migrate the key CUBE desktop accounting / sales / RMA functions to .NET 8 + REST APIs.
Split into four sub-phases. Each sub-phase ships an API first, then the desktop client (or its web replacement) is refactored to consume it.
Note the earlier roadmap wording “Desktop Priority” conflicts with “API-first”. Reconciled position: APIs go first per module, then the client is refactored. If the desktop stays WinForms/WPF short-term, a Desktop → API adapter is part of the sub-phase.
2.1 — Sales Order & RMA Core#
Modules#
- Supplier Information & Contact
- Desktop → Web Receiving and Billing Info
- Sales Order Add / Edit
- Sales Rep Information
- RMA Management (with enhancement: both no-credit-given scenarios)
- RMA Receiver
Tasks#
- Sales Order API — CRUD, status transitions, pricing rules, validations.
- RMA API — returns, receiver, reasons, credit/refund linkage.
- Port desktop UIs to the new host (Auth API integrated).
- Remove direct DB coupling from UIs.
- Regression test vs legacy workflows.
2.2 — Accounts Payable#
Modules#
- Accounting A/P Core
- A/P PO Receipt Reconciliation
- A/P Payment Scheduling
- A/P Debit Memo
- A/P Aging
- A/P Recurring Entry
- A/P Offsets
- Manual AP Entries
Tasks#
- AP API — vendor invoices, payments, adjustments, memos.
- Validation & approval workflows in the backend.
- Desktop screens redesigned for API calls.
- AP reports match legacy output.
- Enhancement — PO Reconciliation: outstanding Prepay / Debit Memo view + Offset buttons; split PO receivers into multiple invoices, or combine into a single invoice.
2.3 — Accounts Receivable#
Modules#
- A/R Check Returns
- A/R Offsets
- Invoice Management
- A/R Write Offs
- A/R Deposits
- Desktop → Web A/R Credit Memo
- Desktop → Web Accounting A/R
Tasks#
- AR API — invoices, receipts, deposits, offsets, write-offs, credit memos.
- Port invoice & AR management to the new UI.
- Validate payment application logic.
- AR aging matches legacy.
- Enhancement: longer Check / Advise No. fields in AR Deposits, AR Check Returns, Bank Reconciliation.
2.4 — Receiving & Billing Integration#
Modules#
- Receiving and Billing Information
Tasks#
- Receiving API — integrated with Inventory + AP.
- Desktop receiving screens consume APIs with real-time updates.
- Billing triggers AP entries automatically.
Exit criteria (whole phase)#
- All sub-phase APIs green under CI + integration tests.
- Regression pack for AP / AR / SO / RMA passes against legacy for the same inputs.
- Desktop clients (or web replacements) route through the APIs — no direct DB reads.