ZATCA (জাকাত, ট্যাক্স ও কাস্টমস কর্তৃপক্ষ) সৌদি আরবের সকল ট্যাক্সেবল ব্যবসাকে একটি প্রমিত XML ফরম্যাটে (UBL 2.1) নির্দিষ্ট ফিল্ড, ক্রিপ্টোগ্রাফিক স্ট্যাম্প এবং QR কোডসহ ই-ইনভয়েস ইস্যু করতে বাধ্য করে। নিচে সম্পূর্ণ টেকনিক্যাল স্পেসিফিকেশন এবং ডাউনলোডযোগ্য টেমপ্লেট দেওয়া আছে।
ZATCA ইনভয়েসের প্রয়োজনীয় ফিল্ডসমূহ
| ফিল্ডের নাম | বিবরণ | প্রয়োজনীয়তা |
|---|---|---|
| বিক্রেতার নাম | ইনভয়েস ইস্যুকারী ট্যাক্সপেয়ারের আইনি নাম | বাধ্যতামূলক |
| ভ্যাট নম্বর (TRN) | ট্যাক্স রেজিস্ট্রেশন নম্বর (১৫ ডিজিট) | বাধ্যতামূলক |
| ইনভয়েসের তারিখ ও সময় | ইস্যুর সময় (ISO 8601 ফরম্যাটে) | বাধ্যতামূলক |
| ইনভয়েস নম্বর | অনন্য ক্রমিক নম্বর | বাধ্যতামূলক |
| ক্রেতার নাম | B2B ইনভয়েসের জন্য (যদি TRN থাকে) | শর্তসাপেক্ষ |
| ক্রেতার TRN | ক্রেতার ট্যাক্স রেজিস্ট্রেশন নম্বর (B2B-এর জন্য) | শর্তসাপেক্ষ |
| লাইন আইটেম | প্রতিটি আইটেমের বিবরণ, পরিমাণ, ইউনিট মূল্য, ভ্যাট হার | বাধ্যতামূলক |
| সাবটোটাল | ভ্যাট ছাড়া মোট | বাধ্যতামূলক |
| ভ্যাট পরিমাণ | কর পরিমাণ (১৫% প্রমিত হার বা প্রযোজ্য হার) | বাধ্যতামূলক |
| মোট প্রদেয় | সাবটোটাল + ভ্যাট | বাধ্যতামূলক |
| QR কোড (ক্রিপ্টোগ্রাফিক স্ট্যাম্প) | Base64-এনকোডেড স্ট্রিং যা বিক্রেতার বিবরণ, টাইমস্ট্যাম্প, ইনভয়েস টোটাল, ভ্যাট এবং ডিজিটাল স্বাক্ষর ধারণ করে | বাধ্যতামূলক |
💻 নমুনা XML (UBL 2.1) - ZATCA কমপ্লায়েন্ট
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:ProfileID>reporting:1.0</cbc:ProfileID>
<cbc:ID>INV-২০২৬-০০১</cbc:ID>
<cbc:IssueDate>২০২৬-০৩-৩০</cbc:IssueDate>
<cbc:IssueTime>১৪:৩০:০০</cbc:IssueTime>
<cbc:InvoiceTypeCode>৩৮৮</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>SAR</cbc:DocumentCurrencyCode>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyName><cbc:Name>আপনার কোম্পানির নাম</cbc:Name></cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>ব্যবসার রাস্তা</cbc:StreetName>
<cbc:CityName>রিয়াদ</cbc:CityName>
<cbc:CountrySubentity>রিয়াদ প্রদেশ</cbc:CountrySubentity>
<cac:Country><cbc:IdentificationCode>SA</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>১২৩৪৫৬৭৮৯০১২৩৪৫</cbc:CompanyID>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="SAR">১০০০.০০</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="SAR">১০০০.০০</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="SAR">১১৫০.০০</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="SAR">১১৫০.০০</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="SAR">১৫০.০০</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="SAR">১০০০.০০</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="SAR">১৫০.০০</cbc:TaxAmount>
<cac:TaxCategory>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
</Invoice>
🔐 ZATCA ইনভয়েসের জন্য QR কোড জেনারেশন
QR কোড (ক্রিপ্টোগ্রাফিক স্ট্যাম্প) ট্যাগ-লেন্থ-ভ্যালু (TLV) ফরম্যাটে নিচের ফিল্ডগুলোর Base64-এনকোডেড স্ট্রিং ধারণ করে:
- ১. বিক্রেতার নাম
- ২. ভ্যাট নম্বর (TRN)
- ৩. ইনভয়েস টাইমস্ট্যাম্প (ISO 8601)
- ৪. ইনভয়েস টোটাল (ভ্যাটসহ)
- ৫. মোট ভ্যাট পরিমাণ
- ৬. ডিজিটাল স্বাক্ষর (CSD থেকে)
উদাহরণ TLV এনকোডিং (সরলীকৃত): |বিক্রেতার নাম|১২৩৪৫৬৭৮৯০১২৩৪৫|২০২৬-০৩-৩০T১৪:৩০:০০Z|১১৫০.০০|১৫০.০০|স্বাক্ষর|
🔧 ইন্টিগ্রেশন ধাপসমূহ
- ১. ZATCA-অনুমোদিত প্রদানকারীর কাছ থেকে CSD সার্টিফিকেট সংগ্রহ করুন
- ২. UBL 2.1 স্কিমা অনুযায়ী XML পেলোড জেনারেট করুন
- ৩. ক্রিপ্টোগ্রাফিক স্ট্যাম্প গণনা করুন এবং QR কোডে এম্বেড করুন
- ৪. CSD সার্টিফিকেট দিয়ে ইনভয়েস সাইন করুন
- ৫. ফাতুরা পোর্টালে জমা দিন (ক্লিয়ারেন্স বা রিপোর্টিং এন্ডপয়েন্ট)
- ৬. ZATCA রেসপন্স পান এবং ক্রেতার সাথে QR ইনভয়েস শেয়ার করুন
প্রায়শই জিজ্ঞাসিত প্রশ্ন
XML-এর পরিবর্তে JSON ব্যবহার করা যাবে কি?
না। ZATCA ক্লিয়ারেন্স এবং রিপোর্টিং উভয় মডেলের জন্য XML UBL 2.1 ফরম্যাট বাধ্যতামূলক করে। JSON গ্রহণযোগ্য নয়।
সরলীকৃত এবং প্রমিত ইনভয়েসের মধ্যে পার্থক্য কী?
সরলীকৃত ইনভয়েসে (B2C-এর জন্য ১,০০০ SAR-এর নিচে) কম প্রয়োজনীয় ফিল্ড থাকে। প্রমিত ইনভয়েসের জন্য ক্রেতার TRN এবং ঠিকানার বিবরণ প্রয়োজন।
আমি কীভাবে আমার XML টেমপ্লেট পরীক্ষা করব?
ZATCA-এর স্যান্ডবক্স এনভায়রনমেন্ট (সিমুলেশন পোর্টাল) ব্যবহার করুন। তারা প্রোডাকশনে যাওয়ার আগে XML স্ট্রাকচার চেক করার জন্য ভ্যালিডেশন টুল সরবরাহ করে।
XML বাস্তবায়নের জন্য কি কোনো সময়সীমা আছে?
ফেজ ২ ইন্টিগ্রেশনের সময়সীমা ব্যবসার আয় অনুযায়ী পরিবর্তিত হয়। বড় ট্যাক্সপেয়ারদের (SAR ৩M-এর বেশি) আগের সময়সীমা থাকে। আপনার নির্দিষ্ট তারিখের জন্য ZATCA পোর্টাল চেক করুন।