zatca 0.0.7 copy "zatca: ^0.0.7" to clipboard
zatca: ^0.0.7 copied to clipboard

A Flutter package for generating ZATCA (Saudi Arabia's Zakat, Tax and Customs Authority) compliant invoice XML and QR codes.

example/zatca_example.dart

import 'package:zatca/models/invoice_data_model.dart';
import 'package:zatca/resources/enums.dart';
import 'package:zatca/zatca_manager.dart';

void main() {
  final zatcaManager = ZatcaManager.instance;
  zatcaManager.initializeZacta(
    sellerName: "My Branch",
    sellerTRN: "310175397400003",
    supplier: Supplier(
      companyID: "310175397400003",
      registrationName: "My Branch",
      address: Address(
        streetName: "King Fahahd st",
        buildingNumber: "0000",
        citySubdivisionName: "West",
        cityName: "Khobar",
        postalZone: "31952",
      ),
    ),
    privateKeyBase64: "",

    ///PrivateKey
    certificateBase64: "",

    ///"""-----BEGIN CERTIFICATE REQUEST-----\nCSRKEY\n-----END CERTIFICATE REQUEST-----",
  );

  final qrData = zatcaManager.generateZatcaQrInit(
    invoiceLines: [
      InvoiceLine(
        id: '1',
        quantity: '1',
        unitCode: 'PCE',
        lineExtensionAmount: '10.00',
        itemName: 'Item 1',
        taxPercent: '15',
      ),
    ],
    invoiceType: InvoiceType.StandardInvoicesAndSimplifiedInvoices,
    issueDate: "2025-04-08",
    issueTime: "03:41:08",
    invoiceUUid: "8e6000cf-1a98-4174-b3e7-b5d5954bc10d",
    invoiceNumber: "INV0001",
    totalVat: "1.50",
    totalWithVat: "11.50",
    customer: Customer(
      companyID: '300000000000003',
      registrationName: 'S7S',
      address: Address(
        streetName: '__',
        buildingNumber: '00',
        citySubdivisionName: 'ssss',
        cityName: 'jeddah',
        postalZone: '00000',
      ),
    ),
    previousInvoiceHash: "zDnQnE05P6rFMqF1ai21V5hIRlUq/EXvrpsaoPkWRVI=",
    invoiceRelationType: InvoiceRelationType.b2c,
  );
  String xml = qrData.xmlString;
  String qr = zatcaManager.getQrString(qrData);
}
12
likes
0
points
67
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for generating ZATCA (Saudi Arabia's Zakat, Tax and Customs Authority) compliant invoice XML and QR codes.

Repository (GitHub)
View/report issues

Funding

Consider supporting this project:

github.com

License

unknown (license)

Dependencies

asn1lib, crypto, flutter, pointycastle, xml

More

Packages that depend on zatca