Note operative e permessi configurabili

🗒️ Pannello Note: ogni scheda di registrazione corrispettivi giornaliera ha un pannello "post-it" giallo floating ancorato all'entità corrente. Si apre minimizzato come fascia centrata sulla topbar (sulla barra blu del modale per i documenti); cliccando la fascia o la freccia expand_more si espande al centro del viewport (ridimensionabile via handle in basso a destra). La fascia minimizzata è trascinabile e la sua posizione viene memorizzata in localStorage per ciascun record (es. ogni documento ha la sua posizione independente). Per scrivere una nota: testo nel box giallino + bottone + Aggiungi (o Cmd/Ctrl + Invio). Modifica/elimina riservate all'autore o agli amministratori. Cestino note con ripristino disponibile dal toggle delete_outline nell'header del pannello espanso (solo ADMIN/SUPERADMIN). Tutti i CRUD (create/update/delete/restore) sono tracciati in audit_log (consultabile da Amministrazione Sistema → Audit Log).

đź”’ Permessi configurabili: alcune azioni di questa scheda (creazione, modifica, cancellazione, esportazione, stampa) possono essere bloccate per il ruolo del tuo workspace. Quando un bottone è bloccato, appare con icona "lucchetto" e tooltip "Permesso disabilitato dal Super Amministratore". La configurazione si fa in Amministrazione di Sistema » Permessi per Ruolo (solo SUPERADMIN).

Corrispettivi

Registro corrispettivi giornalieri (art. 24 DPR 633/72)

v 2.2Certificato
1Panoramica
🔑 VisibilitĂ  condizionata (certificazione v 2.2) — Questo modulo è accessibile solo se:
Pacchetto CORRISPETTIVI attivo sul workspace (configurabile da SUPERADMIN in /admin/pacchetti)
Profilo attività compatibile: Farmacia, Ferramenta, Elettronica (vendita al dettaglio art. 24 DPR 633/72)
Permesso utente abilitato in Modifica Utente → Moduli
I tre livelli si applicano in intersezione. Dettagli completi in Gerarchia Pacchetti+Profilo+Utente.

Il modulo Corrispettivi registra le operazioni giornaliere di vendita al dettaglio che non richiedono emissione di fattura individuale (art. 24 DPR 633/72). Il sistema gestisce:

  • Registrazioni giornaliere con numerazione progressiva annuale
  • Scorporo automatico IVA da totale lordo per aliquota
  • Stati BOZZA (modificabile) → CONFERMATO (immutabile, solo storno)
  • Soft-delete solo per BOZZA, mai per CONFERMATO
  • Riepilogo periodo con aggregazione per aliquota
I corrispettivi confluiscono automaticamente nel Registro IVA Vendite.
2Creare un corrispettivo giornaliero
  1. Menu Contabilità → Corrispettivi.
  2. Cliccare + Nuovo.
  3. Inserire la data della registrazione e una descrizione opzionale.
  4. Aggiungere le righe: per ciascuna aliquota IVA e il totale lordo incassato. Il sistema scorpora automaticamente imponibile e imposta.
  5. Salvare come BOZZA. Il numero progressivo viene assegnato automaticamente.
  6. Quando verificato, cliccare Conferma (richiede ruolo ADMIN). Dopo la conferma non è più modificabile.
La creazione di un corrispettivo in una data appartenente a periodo IVA chiuso è bloccata dal guard (HTTP 409). Riaprire il periodo o usare data corrente.
3Riepilogo per periodo

Endpoint: GET /api/corrispettivi/_/riepilogo?dal=YYYY-MM-DD&al=YYYY-MM-DD

Restituisce:

CampoContenuto
totali.righeNumero di registrazioni CONFERMATE nel periodo
totali.lordoTotale incassato (comprensivo di IVA)
totali.scorporatoImponibile IVA
totali.impostaIVA dovuta
perAliquotaDettaglio per aliquota (es. 22%, 10%, 4%, 0% con natura N1..N7)

Utile per preparare la liquidazione periodica IVA.

4Certificazione v 2.2 — presidi
  • Soft-delete selettivo: solo BOZZA può finire nel cestino. CONFERMATO → obbligo di storno.
  • Audit log (log_modifiche_corrispettivi): traccia modifiche a data, descrizione, totali, stato, note.
  • Bulk actions (ADMIN): conferma / soft-delete multiplo.
  • Guard periodo chiuso: blocca creazione/modifica in periodi IVA chiusi.
  • Mascheramento: il log applica audit-mask per valori sensibili (se presenti nelle note).
Riferimento: art. 24 DPR 633/72 (registro corrispettivi), art. 2220 c.c. (conservazione 10 anni).
5Endpoint API
MetodoPathDescrizione
GET/api/corrispettiviLista paginata (esclude cancellati)
GET/api/corrispettivi/_/cestinoCestino
GET/api/corrispettivi/_/riepilogoRiepilogo per aliquota
GET/api/corrispettivi/:idDettaglio + righe
GET/api/corrispettivi/:id/audit-logStorico modifiche
GET/api/corrispettivi/:id/timelineTimeline eventi
POST/api/corrispettiviCrea (BOZZA)
PUT/api/corrispettivi/:idModifica (solo BOZZA)
POST/api/corrispettivi/:id/confermaConferma [ADMIN]
DELETE/api/corrispettivi/:idSoft-delete
POST/api/corrispettivi/:id/ripristinaRipristina [ADMIN]
DELETE/api/corrispettivi/:id/definitivoHard-delete [ADMIN]
POST/api/corrispettivi/bulkAzioni massive [ADMIN]
POST/api/fatturazione/storno-corrispettivo/:idStorno (refund) [ADMIN]
6Storno corrispettivo (refund) — v 2.2

Feature #11 del pacchetto FATTURAZIONE v 2.2: consente di rimborsare un corrispettivo precedentemente confermato. Viene creato un nuovo corrispettivo con importo negativo collegato al corrispettivo originale.

Due nuovi campi sulla tabella corrispettivi:

  • storno_di (INT) — FK al corrispettivo originale
  • motivazione_storno (TEXT) — descrizione libera obbligatoria

Regole operative

  • Solo corrispettivi in stato CONFERMATO possono essere stornati (HTTP 409 altrimenti)
  • Il corrispettivo di storno nasce già in stato CONFERMATO con numero progressivo dell'anno corrente
  • È possibile storno parziale passando importoRimborso inferiore al lordo originale; in assenza del parametro viene stornato l'intero importo
  • Lo scorporo IVA sul corrispettivo di storno è calcolato al 22% (default); aliquote diverse richiedono aggiustamento manuale della riga
  • Richiede ruolo ADMIN (requireAdmin middleware)

Endpoint

POST /api/fatturazione/storno-corrispettivo/:id
Body: { motivazione, importoRimborso? }

Risposta: { id, numero, importoStornato } (importo negativo).

La descrizione del corrispettivo di storno riporta automaticamente: "Storno corrispettivo #X - <motivazione>". La motivazione è obbligatoria per tracciabilità fiscale (art. 24 DPR 633/72).