zatca_2_invoice_generator 0.0.1
zatca_2_invoice_generator: ^0.0.1 copied to clipboard
Plugin for generating ZATCA 2 invoice QR code
Zatca e-invoice (fatoora) QR code generator in Flutter #
This package strictly follows the guidelines provided by the Zatca authority to generate a simplified e-invoice (fatoora) QR code to print into the Bill/invoice of your business.
For more info kindly visit the official Zatca Docs.
Features #
- Simple QR code
- QR code with logo and custom styling
- Custom QR code builder, so you can show your magic πͺ
Usage #
For full example of the code, kindly have a look here /example folder.
Initialize zacta in main.dart: #
void main() {
initZacta();
runApp(MyApp());
}
void initZacta() {
ZatcaManager.instance.initializeZacta(
sellerName: ZatcaConstants.companyName,
sellerTRN: ZatcaConstants.taxRegistrationNumber,
privateKeyBase64: ZatcaConstants.privateKeyBase64,
certificateBase64: ZatcaConstants.certificateBase64,
supplier: Supplier(
companyID: ZatcaConstants.commercialRegistrationNumber,
registrationName: ZatcaConstants.taxRegistrationNumber,
address: Address(
streetName: ZatcaConstants.street,
buildingNumber: ZatcaConstants.buildingNumber,
citySubdivisionName: ZatcaConstants.area,
cityName: ZatcaConstants.cityName,
postalZone: ZatcaConstants.postalZone,
),
),
);
}
QR code Data Model: #
final qrDataModel = ZatcaManager.instance.generateZatcaQrInit(
totalVat: "45.0",
totalWithVat: "300.0",
issueDate: "2024-01-17",
issueTime: "05:41:08",
invoiceUUid: "8e6000cf-1a98-4174-b3e7-b5d5954bc10d",
invoiceNumber: "INV0001",
invoiceLines: [
InvoiceLine(
id: '1',
quantity: '10',
unitCode: 'PCE',
lineExtensionAmount: '100.00',
itemName: 'Item 1',
taxPercent: '15',
),
InvoiceLine(
id: '2',
quantity: '1',
unitCode: 'PCE',
lineExtensionAmount: '200.00',
itemName: 'Item 1',
taxPercent: '15',
),
],
invoiceType: ZatcaConstants.invoiceType,
);
Simple QR code: #
Center(
child: Zatca2InvoiceQrGenerator(qrDataModel: qrDataModel),
)