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.