Los campos del código QR se codificarán en formato Tag-Length-Value (TLV) con los valores de etiqueta especificados en la columna "Etiqueta" de la tabla adyacente en la imagen a continuación.
La codificación TLV será la siguiente:
Etiqueta: el valor de la etiqueta como se mencionó anteriormente se almacena en un byte Longitud: la longitud de la matriz de bytes resultante de la codificación UTF8 del valor del campo. La longitud se almacenará en un byte. Valor: la matriz de bytes resultante de la codificación UTF8 del valor del campo.
Esta imagen describe mi problema:

Puede generar los valores hash necesarios utilizando esta biblioteca aquí .
String qrBarcodeHash = QRBarcodeEncoder.encode( new Seller("شركة تجريبية"), new TaxNumber("312345678901233"), new InvoiceDate("2021-11-18T18:40:34+03:00"), new InvoiceTotalAmount("2.30"), new InvoiceTaxAmount("0.30") );