Rejeição 396: Parâmetro do QR-Code inexistente: [Nome do parâmetro do QR Code: xxx)]

Descrição oficial da SEFAZ: Parâmetro do QR-Code inexistente: [Nome do parâmetro do QR Code: xxx)]

O que significa

Falta um parâmetro obrigatório dentro do QR-Code. A SEFAZ diz qual na própria mensagem.

Por que acontece

Montagem incompleta da string do QR-Code, geralmente depois de mudança de versão do leiaute.

Como resolver

Leia o nome do parâmetro citado na mensagem e inclua na montagem do QR-Code, na ordem prevista pelo manual. Regere e retransmita.

Como evitar

Monte o QR-Code a partir de uma rotina única e versionada, não por concatenação espalhada.