All Projects → SallaApp → ZATCA

SallaApp / ZATCA

Licence: MIT License
An unofficial package maintained by Salla to help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicing

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to ZATCA

qrcode
A flutter plugin for scanning QR codes. Use AVCaptureSession in iOS and zxing in Android.
Stars: ✭ 69 (-10.39%)
Mutual labels:  qrcode, qr-code
paper-store
Cold store small files on paper as QR codes -- PGP keys, Bitcoin keys, Tox keys or any other small files in general.
Stars: ✭ 28 (-63.64%)
Mutual labels:  qrcode, qr-code
QRCode-Generator-PHP-Class
🚀 QRCode PHP class (library). QR Code Generator using vCard 4.0 and the Google Chart API
Stars: ✭ 91 (+18.18%)
Mutual labels:  qrcode, qr-code
QR Attendance
This project is an attendance system which provides attendance on scanning QR code. The attendance is stored in Excel sheet named with the date of attendance taken. In this folder a file named Generate.py is used to generate the QR code for given input file. Attend.py file is for scanning the QR code
Stars: ✭ 17 (-77.92%)
Mutual labels:  qrcode, qr-code
quagga2-reader-qr
Quagga2 sample external reader for QR codes
Stars: ✭ 20 (-74.03%)
Mutual labels:  qrcode, qr-code
kanban-board-app
Kanban style task management board app
Stars: ✭ 118 (+53.25%)
Mutual labels:  qrcode, qr-code
WeChatQRCode
⛄ 基于OpenCV开源的微信二维码引擎移植的Android扫码识别库
Stars: ✭ 250 (+224.68%)
Mutual labels:  qrcode, qr-code
Offline Qr Code
📱 Browser add-on allowing you to quickly generate a QR code offline with the URL of the open tab or other text!
Stars: ✭ 193 (+150.65%)
Mutual labels:  qrcode, qr-code
python
Build Python extension with Dynamsoft Barcode Reader.
Stars: ✭ 35 (-54.55%)
Mutual labels:  qrcode, qr-code
nova-qrcode-field
A Laravel Nova field to generate QR Code
Stars: ✭ 28 (-63.64%)
Mutual labels:  qrcode, qr-code
qr-pirate
crawl QR-codes from search engines and look for bitcoin private keys
Stars: ✭ 58 (-24.68%)
Mutual labels:  qrcode, qr-code
fatoora
An unofficial package help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicing
Stars: ✭ 22 (-71.43%)
Mutual labels:  zatca, fatoora
Instascan
HTML5 QR code scanner using your webcam
Stars: ✭ 2,657 (+3350.65%)
Mutual labels:  qrcode, qr-code
QR-secret-sharing
🔒 Create QR codes to secret-share a message. Ideal for cryptocurrency wallet recovery keys and passwords.
Stars: ✭ 94 (+22.08%)
Mutual labels:  qrcode, qr-code
Jsqr
A pure javascript QR code reading library. This library takes in raw images and will locate, extract and parse any QR code found within.
Stars: ✭ 2,722 (+3435.06%)
Mutual labels:  qrcode, qr-code
QRCodeFX
Simple tool to generate/read QR Code and export it.
Stars: ✭ 31 (-59.74%)
Mutual labels:  qrcode, qr-code
Segno
Python QR Code and Micro QR Code encoder
Stars: ✭ 144 (+87.01%)
Mutual labels:  qrcode, qr-code
Bardecoder
Detect and decode QR Codes, written in 100% Rust.
Stars: ✭ 145 (+88.31%)
Mutual labels:  qrcode, qr-code
vk-qr
VK QR Code generator library
Stars: ✭ 43 (-44.16%)
Mutual labels:  qrcode, qr-code
QrCodeGenerator
QR Code Generator for .NET
Stars: ✭ 66 (-14.29%)
Mutual labels:  qrcode, qr-code
Logo

ZATCA (Fatoora) QR-Code Implementation

An unofficial package maintained by Salla to help developers to implement ZATCA (Fatoora) QR code easily which required for e-invoicing
Explore our blogs »

Report Bug · Request Feature · </Salla Developers>

Requirements

  • PHP >= 7.2
  • An mbstring extension

Installation

You can install the package via composer:

$ composer require salla/zatca

(back to top)

Usage

Generate Base64

use Salla\ZATCA\GenerateQrCode;
use Salla\ZATCA\Tags\InvoiceDate;
use Salla\ZATCA\Tags\InvoiceTaxAmount;
use Salla\ZATCA\Tags\InvoiceTotalAmount;
use Salla\ZATCA\Tags\Seller;
use Salla\ZATCA\Tags\TaxNumber;

$generatedString = GenerateQrCode::fromArray([
    new Seller('Salla'), // seller name        
    new TaxNumber('1234567891'), // seller tax number
    new InvoiceDate('2021-07-12T14:25:09Z'), // invoice date as Zulu ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601
    new InvoiceTotalAmount('100.00'), // invoice total amount
    new InvoiceTaxAmount('15.00') // invoice tax amount
    // TODO :: Support others tags
])->toBase64();

// > Output
// AQVTYWxsYQIKMTIzNDU2Nzg5MQMUMjAyMS0wNy0xMlQxNDoyNTowOVoEBjEwMC4wMAUFMTUuMDA=

Generate Plain

use Salla\ZATCA\GenerateQrCode;
use Salla\ZATCA\Tags\InvoiceDate;
use Salla\ZATCA\Tags\InvoiceTaxAmount;
use Salla\ZATCA\Tags\InvoiceTotalAmount;
use Salla\ZATCA\Tags\Seller;
use Salla\ZATCA\Tags\TaxNumber;

$generatedString = GenerateQrCode::fromArray([
    new Seller('Salla'), // seller name        
    new TaxNumber('1234567891'), // seller tax number
    new InvoiceDate('2021-07-12T14:25:09Z'), // invoice date as Zulu ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601
    new InvoiceTotalAmount('100.00'), // invoice total amount
    new InvoiceTaxAmount('15.00') // invoice tax amount
    // TODO :: Support others tags
])->toTLV();

(back to top)

Render A QR Code Image

You can render the tags as QR code image easily

use Salla\ZATCA\GenerateQrCode;
use Salla\ZATCA\Tags\InvoiceDate;
use Salla\ZATCA\Tags\InvoiceTaxAmount;
use Salla\ZATCA\Tags\InvoiceTotalAmount;
use Salla\ZATCA\Tags\Seller;
use Salla\ZATCA\Tags\TaxNumber;

// data:image/png;base64, .........
$displayQRCodeAsBase64 = GenerateQrCode::fromArray([
    new Seller('Salla'), // seller name        
    new TaxNumber('1234567891'), // seller tax number
    new InvoiceDate('2021-07-12T14:25:09Z'), // invoice date as Zulu ISO8601 @see https://en.wikipedia.org/wiki/ISO_8601
    new InvoiceTotalAmount('100.00'), // invoice total amount
    new InvoiceTaxAmount('15.00') // invoice tax amount
    // TODO :: Support others tags
])->render();

// now you can inject the output to src of html img tag :)
// <img src="$displayQRCodeAsBase64" alt="QR Code" />

(back to top)

Read The QR-Code

The output of QR-Code is not readable for the human 👀, and some of QR-Code readers maybe show a invalid output because this QR-Code will be scan by the ZATCA apps later after the all steps of integration compete. If you interested to see the output of your final QR-Code Image you can use the following website

https://www.onlinebarcodereader.com/

image

TODO

We'll continue work on this package until support the whole cycle of QR code implementation.

  • Support the digital signature for the QR code.

Testing

composer test

(back to top)

Support

The team is always here to help you. Happen to face an issue? Want to report a bug? You can submit one here on Github using the Issue Tracker. If you still have any questions, please contact us via the Telegram Bot or join in the Global Developer Community on Telegram.

Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Security

If you discover any securitys-related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

(back to top)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].