Restyle UI to match Mago4 and add invoicing, warehouse, scadenzario

Rework the demo into a faithful Mago4 look-and-feel and expand it with
core ERP modules modelled on the real Mago4 database schema.

UI (ispirata a Mago4):
- Blue header with logo/search/operation date, desktop-style window tabs
- White sidebar with coloured module icons (Anagrafiche, Vendite, Acquisti,
  Amministrazione, Logistica)
- Card-based module landing pages with breadcrumb + tab strip
- Document detail forms with left tabs, line grid and totals box

Fatturazione (InvoiceMng / MA_SaleDoc):
- Document types (Fattura Immediata, DDT, Nota di Credito, ProForma)
- Lines with discount/IVA, automatic taxable/tax/total computation
- Document states (draft -> printed -> issued / posted_to_inventory)

Magazzino (Inventory / MA_InventoryEntries + MA_InventoryReasons):
- Inventory movements with load/unload reasons (DebitCreditSign)
- Posting a movement actually updates item balances
- Causali and stock valuation pages

Amministrazione / Scadenzario (AP_AR / MA_PyblsRcvbls):
- Open items (receivables/payables) with due date, method, state
- Settle action closes the item and recomputes the cash forecast

Dashboard riprogettata (focus su scadenze e to-do):
- Overdue alert banner, KPI for overdue payables/receivables
- Upcoming deadlines table, prioritised "Cose da fare" action list
- 30-day cash-flow forecast and customer credit-limit check

Adds REST endpoints for invoices, movements, schedules and dashboard data.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 11:47:32 +02:00
co-authored by Claude Sonnet 4.6
parent 8a9fb5085a
commit b6b6759b9a
26 changed files with 2900 additions and 2125 deletions
+15 -10
View File
@@ -4,16 +4,21 @@ Demo funzionante di un gestionale ERP ispirato a **Mago4**, realizzato con **Pyt
## 🎯 Caratteristiche
- **Dashboard interattivo** con KPI e widget
- **Gestione Clienti** - Anagrafica e crediti
- **Gestione Fornitori** - Anagrafica e debiti
- **Catalogo Articoli** - Inventario con alert sottosorta
- **Ordini Vendita** - Creazione e tracciamento
- **Ordini Acquisto** - Gestione forniture
- **Magazzino** - Inventario con controllo giacenze
- **API REST** completamente documentata
- **Database in-memoria** per demo (facilmente migrabile a SQL)
- **UI ispirata a Mago4** - Design moderno con Material Icons
- **Interfaccia fedele a Mago4** — header blu, sidebar a moduli, menu a card con breadcrumb e tab, form documento con tab laterali e griglia righe
- **Cruscotto aziendale** orientato alle scadenze: banner allerta, KPI pagamenti/incassi scaduti, scadenze imminenti, **Cose da Fare** (paga/sollecita/ordina/conferma), **previsione di cassa** a 30 giorni, controllo fido clienti
- **Anagrafiche** — Clienti, Fornitori, Articoli (con P.IVA, codice fiscale, UM, IVA)
- **Vendite** — Ordini Cliente e **Fatturazione**: Fatture Immediate, DDT, Note di Credito, ProForma con calcolo imponibile/IVA/totale e stati documento (bozza → stampato → emesso)
- **Acquisti** — Ordini Fornitore
- **Amministrazione** — **Scadenzario** (partite aperte): incassi/pagamenti con data scadenza, stato (scaduta/in scadenza/aperta/saldata), registrazione incasso/pagamento, previsione di cassa
- **Logistica/Magazzino** **Movimenti di magazzino** con causali carico/scarico che **aggiornano realmente le giacenze**, **Causali** (DebitCreditSign), Giacenze e valorizzazione
- **API REST** completamente documentata (Swagger su `/docs`)
- **Database in-memoria** con logica di business (facilmente migrabile a SQL)
### Moduli ispirati al codice sorgente Mago4
La struttura dati e le funzionalità sono modellate sulle tabelle reali di Mago4:
- **Fatturazione**: `MA_SaleDoc` (InvoiceMng) — tipi documento, righe con sconto/IVA, stati `Printed`/`Issued`/`PostedToInventory`
- **Magazzino**: `MA_InventoryEntries` + `MA_InventoryReasons` (Inventory) — movimenti con causali e segno carico/scarico che aggiornano `MA_ItemsBalances`
- **Scadenzario**: `MA_PyblsRcvbls` + Details (AP_AR) — partite con `InstallmentDate`, `Amount`, `DebitCreditSign`, flag `Closed`/`Collected`
## 🚀 Quick Start