2025-03-11

Aggiornamenti delle specifiche tecniche per la fatturazione elettronica: novità ed implicazioni (versione 1.9 - 1° aprile 2025)

Fattura Elettronica - dal 1° aprile 2025 entrano in vigore le specifiche tecniche v1.9

L'Agenzia delle Entrate ha pubblicato, il 31 gennaio 2025, le nuove specifiche tecniche per la fatturazione elettronica, versione 1.9, che entreranno in vigore il 1° aprile 2025. Questi aggiornamenti introducono diverse novità di rilievo, volte a migliorare il controllo e la gestione dei flussi informativi, senza però modificare sostanzialmente gli schemi operativi già in uso. Di seguito, un riepilogo delle principali innovazioni:

Nuovo tipo documento TD29

Il nuovo documento TD29 è stato introdotto per permettere al cessionario o committente di comunicare all'Agenzia delle Entrate la mancata ricezione o l'irregolarità di una fattura.

La comunicazione dovrà essere effettuata entro 90 giorni dal termine entro il quale la fattura doveva essere emessa oppure dalla data di emissione della fattura irregolare. Il mancato adempimento comporterà una sanzione pari al 70% dell'Iva, con un importo minimo di 250 euro.

Modifica del documento TD20

Con l'introduzione del TD29, il documento TD20, noto come "Autofattura per regolarizzazione e integrazione delle fatture", sarà riservato esclusivamente alle regolarizzazioni relative alle violazioni in materia di reverse charge e alle operazioni indicate dall'articolo 46, comma 5, del Dl 331/1993 (quali gli acquisti intracomunitari e quelli da fornitori comunitari).

Introduzione del regime fiscale RF20

  • Franchigia IVA Transfrontaliera.
    Le specifiche tecniche introducono il nuovo regime fiscale RF20, volto a regolare il regime transfrontaliero di franchigia IVA, in conformità con la Direttiva UE 2020/285 e recepito dal Dlgs 180/2024.
  • Decorrenza.
    Sebbene il nuovo codice RF20 entri in vigore a partire dal 1° gennaio 2025, la sua applicazione diventa parte integrante del nuovo tracciato in vigore dal 1° aprile 2025.

Aggiornamento dei codici per le fatture di vendita di gasolio e carburante

I codici valori relativi alle fatture di vendita gasolio / carburante sono stati aggiornati, in linea con le nuove disposizioni previste dall'ADM, per garantire una maggiore uniformità e tracciabilità delle operazioni.

Eliminazione del limite per la fattura semplificata

Per i soggetti operanti in regime forfettario o nel nuovo regime transfrontaliero di franchigia IVA, il limite massimo di 400 euro per l'emissione di una fattura semplificata viene abolito. Questa misura consente una maggiore flessibilità, aprendo nuove possibilità per forfettari e operatori in franchigia UE.
 
 

Le nuove specifiche tecniche per la fatturazione elettronica mirano a rafforzare il sistema di controllo e segnalazione delle irregolarità, introducendo strumenti mirati come il documento TD29 e aggiornando il quadro normativo con il regime RF20 e nuove disposizioni per la fatturazione semplificata. È fondamentale che tutte le parti coinvolte aggiornino tempestivamente i propri sistemi informativi per evitare sanzioni e garantire una transizione fluida al nuovo regime.


Naturalmente il nostro software gestionale FACILE e la libreria open source FELPA, rivolta agli sviluppatori, supportano pienamente le nuove specifiche tecniche.

2025-03-05

La fine della programmazione?

Negli ultimi anni, lo sviluppo dell'intelligenza artificiale, in particolare dei modelli di linguaggio di grandi dimensioni (LLM), ha portato alcuni esperti a dichiarare che la programmazione diventerà obsoleta. Secondo Matt Welsh, presto non sarà più necessario scrivere codice, perché l'IA sostituirà la programmazione tradizionale con modelli addestrati e, nei casi più semplici, con codice generato automaticamente.

Tuttavia, questa affermazione è controversa. Se consideriamo software complessi come sistemi operativi, motori di gioco o piattaforme SaaS, è improbabile che possano essere completamente rimpiazzati da sistemi IA. Inoltre, generare codice corretto a partire da una specifica non è un problema banale: la teoria della computazione dimostra che il program synthesis è computazionalmente complesso e richiede risorse considerevoli.

Programmare in Inglese?

L'idea che l'inglese possa diventare il linguaggio della programmazione non è nuova. Già negli anni '50 si pensava che FORTRAN avrebbe eliminato il bisogno di scrivere codice, ma ciò non è avvenuto. Oggi, alcuni sostengono che strumenti come ChatGPT rendano possibile programmare in linguaggio naturale, ma il problema rimane: le lingue naturali sono ambigue e richiedono una precisa "sintassi" per essere comprese correttamente dall'IA.

Difficoltà nella generazione di codice corretto

Il problema centrale della generazione di codice da una specifica è noto come program synthesis. Si tratta di trovare un programma che soddisfi determinati vincoli, ma dimostrazioni teoriche mostrano che il problema è computazionalmente difficile (PSPACE-completo), il che significa che richiede un numero di passaggi esponenziale rispetto alla dimensione dell'input. Pertanto, strumenti basati su LLM non possono garantire di produrre codice corretto in modo affidabile.

L'IA come strumento, non come sostituto

Sebbene i LLM possano essere utili per suggerire codice ed accelerare il lavoro dei programmatori, non rappresentano la fine della programmazione. Le limitazioni degli approcci basati sull'IA sono ben note e questi strumenti dovrebbero essere considerati complementari piuttosto che sostitutivi della programmazione tradizionale.

Il vero valore del linguaggio naturale nella programmazione risiede nel dialogo tra sviluppatori e utenti per comprendere i requisiti software. L'IA può facilitare questa interazione, ma il problema della correttezza del codice rimane centrale e irrisolto.

 


Questo articolo è un estratto di On Program Synthesis and Large Language Models - Why it is unlikely new developments in machine intelligence will eventually make programming obsolete di Hans Hüttel (pubblicato su Communications of the ACM, gennaio 2025 - Vol. 68 No. 1 al quale rimandiamo per i dettagli).

2025-02-18

Montare un'unità come cartella in Windows

Per gli utenti di Linux/Unix è la normalità, per quelli di Windows può costituire una sorpresa: è possibile utilizzare la riga di comando (o Gestione Disco) per rendere accessibile un'unità all'interno di una cartella.

La cartella deve essere vuota ed appartenere ad un volume NTFS.

Qui descriveremo la procedura tramite linea di comando. Il comando da utilizzare, avendo i diritti di amministratore, è `mountvol`.

In generale:

mountvol

restituisce una lista di identificativi di volume, per esempio:

Valori possibili per NomeVolume con punti di montaggio correnti:
    \\?\Volume{9da96015-db26-4f7e-9b1a-db53f6de9813}\
        C:\

    \\?\Volume{d69b0ab1-9e73-437c-8ad5-27646cc03d4a}\
        *** NESSUN PUNTO DI MONTAGGIO ***

    \\?\Volume{fc2979a3-4444-4ab6-b649-e72e16540732}\
        *** NESSUN PUNTO DI MONTAGGIO ***

    \\?\Volume{6c89fe14-8db0-4060-9789-241525767e17}\
        *** NESSUN PUNTO DI MONTAGGIO ***

Curiosità, le stringhe \\?\Volume{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ possono esser utilizzate direttamente in uno script o copiate ed inserite nella finestra Esegui per vedere il contenuto del volume:


Chiusa la parentesi torniamo all'argomento dell'articolo. Per montare un volume all'interno di una cartella la sintassi da utilizzare è:

mountvol <drive:\percorso_cartella> <Volume GUID>

per esempio:

mkdir c:\backup
mountvol c:\\backup \\?\Volume{fc2979a3-4444-4ab6-b649-e72e16540732}\

Da notare che avremmo anche potuto utilizzare la classica lettera:

mountvol q: \\?\Volume{fc2979a3-4444-4ab6-b649-e72e16540732}\

ma sarebbe subito finito il divertimento!

Per smontare una cartella o lettera-drive si usa il comando:

mountvol q: /p

(in precedenza lo switch utilizzato era `\d`)

Per ulteriori dettagli: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/mountvol

Fai attenzione quando modifichi o elimini i punti di volume poiché ciò potrebbe influire sulla funzionalità del sistema. Le modifiche ai punti di volume dovrebbero essere apportate solo se sai esattamente cosa stai facendo.



2025-02-04

RDP e credenziali di autenticazione multiple per lo stesso server


Le versioni recenti di Microsoft Remote Desktop Connection non registrano le credenziali di autenticazione nel file RDP.

Questa scelta, attuata per ragioni di sicurezza, limita il numero di credenziali registrabili, per uno specifico computer host, ad una singola coppia (nome utente e password).

Ne discende che la scelta più lineare, per l'accesso RDP con profili multipli allo stesso server, sia quella di creare account indipendenti sulla macchina client ed uno specifico accesso RDP per ogni account.

Tuttavia possono presentarsi situazioni in cui si richiede un rapido hotfix. Un espediente è quello di aggiungere, al file hosts, voci multiple afferenti allo stesso indirizzo IP:

```

192.168.1.10 marco.local

192.168.1.10 giulia.local

192.168.1.10 andrea.local

```

Questi alias vengono considerati macchine differenti da Microsoft RDP e permettono così di aggirare la limitazione sopra accennata.

2025-01-13

Abilitare gli accessi guest in SMB2 e SMB3


Versioni recenti di Windows / Windows Server disabilitano l’accesso guest (senza credenziali di autenticazione) in SMB2 / SMB3.
Ciò significa che molti data server / NAS riportano un errore di connessione simile al seguente:

Impossibile accedere a questa cartella condivisa perché i criteri di sicurezza della tua organizzazione bloccano l’accesso guest non autenticato

Questi criteri consentono di proteggere il computer da dispositivi non sicuri o dannosi sulla rete.

È possibile cambiare un’impostazione, all’interno del registro di sistema, per sospendere questo blocco di sicurezza imposto da Microsoft. Ovviamente, ciò abbassa il livello di protezione.

Se strettamente necessario si può procedere come segue:
  • aprire regedit;
  • aprire il percorso HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Services → LanmanWorkstation → Parameters;
  • modificare (o creare) il valore DWORD a 32 bit (REG_DWORD) AllowInsecureGuestAuth ed impostarne il valore a 1.

In alternativa, con le versioni Pro di Windows, si possono usare le group policy:

  • aprire gpedit.msc e selezionare Modifica criteri di gruppo;
  • nel riquadro a sinistra (criteri del computer locale), passare a Configurazione computer → Modelli amministrativi → Rete →Workstation →Lanman;
  • aprire "Abilita gli accessi guest non sicuri" e selezionare Enabled.

In ogni caso verificare il valore del registro di sistema sopra indicato.

2024-12-19

Installare Windows 11 con un account locale

È noto come Microsoft stia limitando sempre più la possibilità di installare Windows 11 senza creare un account di rete.

Gli account locali hanno comunque dei vantaggi (e degli svantaggi) ed è ancora possibile, con qualche escamotage, utilizzarli in fase di installazione del sistema.

Può essere utile creare una chiavetta USB di installazione con il tool Rufus. In alternativa, ad oggi, funziona anche la procedura che andiamo a descrivere.

Durante il processo di installazione di Windows 11, nella schermata di scelta della nazione, utilizzare la combinazione di tasti `Shift + F10` per aprire il prompt dei comandi.

OOBE scelta nazione

 

Per evitare che Windows blocchi l'installazione in assenza di connettività internet, digitare il comando `oobe\bypassnro` ('OOBE' è l'acronimo di Out Of the Box Experience...):

Bypass OOBE

Il computer si riavvierà riportandoci alla schermata di scelta della nazione. Per la seconda volta aprire il prompt dei comandi con la combinazione di tasti `Shift + F10`.

In questa occasione utilizzare il comando `ipconfig /release` per disconnettere effettivamente il computer dalla rete e, quindi, chiudere il prompt dei comandi (`exit`).

Il processo di installazione riprende regolarmente.

Quando compare questa schermata:

Windows 11 - Colleghiamoci alla rete

è di fondamentale importanza premere il tasto `Non ho internet`.

Salvo imprevisti verrà richiesto il nome utente (locale) e l'installazione avverrà come sempre.