generateQrString method
Generates a Phase-1 QR string (base64 of TLV tags 1–5).
Works for both simplified (B2C) and standard (B2B) Phase-1 invoices — the format is identical. Call initialize first.
issueDateTime - Invoice issue timestamp (emitted as ISO 8601
yyyy-MM-ddTHH:mm:ss).
totalWithVat - Invoice total including VAT.
vatTotal - Total VAT amount.
Implementation
String generateQrString({
required DateTime issueDateTime,
required double totalWithVat,
required double vatTotal,
}) {
_requireInitialized();
_validateAmounts(totalWithVat, vatTotal);
final tlv = generateTlv({
1: _sellerName!,
2: _sellerTRN!,
3: DateFormat("yyyy-MM-dd'T'HH:mm:ss").format(issueDateTime),
4: totalWithVat.toStringAsFixed(2),
5: vatTotal.toStringAsFixed(2),
});
return tlvToBase64(tlv);
}