<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anthony Jekanyika</title>
    <description>The latest articles on DEV Community by Anthony Jekanyika (@jeky1950).</description>
    <link>https://dev.to/jeky1950</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1126845%2F27655368-d05f-4373-a064-51fb4bf8bc57.jpeg</url>
      <title>DEV Community: Anthony Jekanyika</title>
      <link>https://dev.to/jeky1950</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jeky1950"/>
    <language>en</language>
    <item>
      <title>Creating your first ZIMRA Fiscal Invoice with Panier: A Step By Step Guide</title>
      <dc:creator>Anthony Jekanyika</dc:creator>
      <pubDate>Thu, 26 Feb 2026 16:13:46 +0000</pubDate>
      <link>https://dev.to/jeky1950/creating-your-first-zimra-fiscal-invoice-with-panier-a-step-by-step-guide-1f1a</link>
      <guid>https://dev.to/jeky1950/creating-your-first-zimra-fiscal-invoice-with-panier-a-step-by-step-guide-1f1a</guid>
      <description>&lt;p&gt;Now that your ZIMRA Fiscalisation integration is now live, let's create our very first &lt;strong&gt;Fiscal Tax Invoice&lt;/strong&gt; on &lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt;. If you want to apply for ZIMRA Fiscalisation on Panier see &lt;a href="https://panier.app/login" rel="noopener noreferrer"&gt;Appling for ZIMRA Fiscalisation with Panier: A Step By Step Guide&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Create Invoice
&lt;/h3&gt;

&lt;p&gt;Go to the &lt;strong&gt;Invoices&lt;/strong&gt; page of your Panier company and click &lt;strong&gt;Create&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Add a customer
&lt;/h3&gt;

&lt;p&gt;Click &lt;strong&gt;Add Customer&lt;/strong&gt; in order to create a new customer.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7d5cc65vq89k9wkhipht.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7d5cc65vq89k9wkhipht.PNG" alt="Panier add customer to invoice" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then after click &lt;strong&gt;Create&lt;/strong&gt; in order to add our new customer to our invoice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9q4y45a66srfu2x6seda.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9q4y45a66srfu2x6seda.PNG" alt="Panier create customer on the create invoice page" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Add Additional Information
&lt;/h3&gt;

&lt;p&gt;Now we add the &lt;strong&gt;Payment information&lt;/strong&gt;, &lt;strong&gt;Terms and Conditions&lt;/strong&gt; and &lt;strong&gt;Payment Due&lt;/strong&gt; date. However the Payment information and; Terms and Conditions are optional fields and can be skipped.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tsctavkjfsyilmiaemi.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tsctavkjfsyilmiaemi.PNG" alt="Panier add additional information on create invoice page" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Add a product
&lt;/h3&gt;

&lt;p&gt;Now click &lt;strong&gt;Add Product&lt;/strong&gt; in order to create a new product&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fujuy2jxhj86ujzbhkfx3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fujuy2jxhj86ujzbhkfx3.PNG" alt="Panier add product to invoice" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we create our product making sure to put the &lt;strong&gt;HS Code&lt;/strong&gt; and &lt;strong&gt;ZIMRA Tax&lt;/strong&gt; which in this case is Standard Rated 15.5%. Panier can also help you find your product's HS Code if you add a product description and click &lt;strong&gt;Help me find an HS Code&lt;/strong&gt;. An HS Code is a unique identifiers that can be used to describe any kind of physical product and as of 2025 is now a pre-requisite if you want to create a Fiscal Tax Invoice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flpoo4mu7dxrf3odzb48b.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flpoo4mu7dxrf3odzb48b.PNG" alt="Panier add product on the create invoice page" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ZIMRA Fiscalise
&lt;/h3&gt;

&lt;p&gt;Now we click the checkbox on the bottom left labelled &lt;strong&gt;ZIMRA Fiscalise&lt;/strong&gt; and click &lt;strong&gt;Create&lt;/strong&gt;.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finqyhthbxf9mzkrtyaf6.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Finqyhthbxf9mzkrtyaf6.PNG" alt="Panier click ZIMRA Fiscalise checkbox" width="800" height="409"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Preview Invoice
&lt;/h3&gt;

&lt;p&gt;A preview of the Fiscal Tax Invoice will popup. &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93jiak16ra1dkx8nzf3p.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93jiak16ra1dkx8nzf3p.PNG" alt="Panier invoice preview" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Panier also allows you choose from 30 background templates.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhe5c3ixksx8zknx077fn.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhe5c3ixksx8zknx077fn.PNG" alt="Panier background templates" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And 22 color palettes in order to customize your invoice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjy5edbirv91v9wcmx2h.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjy5edbirv91v9wcmx2h.PNG" alt="Panier color palettes" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we click &lt;strong&gt;Continue&lt;/strong&gt; when we are satisfied with our invoice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feq8l1mxxkz8m0umcr8av.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feq8l1mxxkz8m0umcr8av.PNG" alt="Panier fiscalise invoice" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Et Voila 🎉
&lt;/h3&gt;

&lt;p&gt;And if you followed the instructions carefully you should have successfully created your very first Fiscal Tax Invoice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft729my8ba3zv31gjw09e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft729my8ba3zv31gjw09e.PNG" alt="Panier Fiscal Tax Invoice 1" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5pwrtddo7k7cyrj1nn9.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg5pwrtddo7k7cyrj1nn9.PNG" alt="Panier Fiscal Tax Invoice 2" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48hule7s81emwvpxdhf6.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48hule7s81emwvpxdhf6.PNG" alt="Panier Fiscal Tax Invoice 3" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I want you to pay close attention to the QR Code in the center. That is confirmation that our invoice has been fiscalised and if we click the verify link next to it. We will be redirected this ZIMRA portal.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7pztxabnvjeag7245d3.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7pztxabnvjeag7245d3.jpeg" alt="Panier ZIMRA Fiscalisation Verify QR Code" width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now lets go back to our invoice page and try to download our Fiscal Tax Invoice.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flc2gmmz14mkyt1skon0e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flc2gmmz14mkyt1skon0e.PNG" alt="Panier Download ZIMRA Fiscalised Invoice" width="800" height="399"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your Fiscal Tax Invoice should look something like this:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tw48a750gdh9fbtw5sa.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tw48a750gdh9fbtw5sa.jpg" alt="Panier ZIMRA Fiscal Invoice Example" width="800" height="1130"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have any questions, please contact me on &lt;a href="mailto:support@panier.app"&gt;support@panier.app&lt;/a&gt; or on &lt;a href="https://web.whatsapp.com/send/?phone=263783836915&amp;amp;text=Hello+from+your+Panier+dev.to+tutorial"&gt;WhatsApp on +263783836915&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>panier</category>
      <category>zimra</category>
      <category>fiscalisation</category>
      <category>invoice</category>
    </item>
    <item>
      <title>Smile &amp; Pay and ZIMRA Fiscalisation Integration with the Panier API: a Step-by-Step Guide</title>
      <dc:creator>Anthony Jekanyika</dc:creator>
      <pubDate>Mon, 25 Aug 2025 13:54:29 +0000</pubDate>
      <link>https://dev.to/jeky1950/smile-pay-and-zimra-fiscalisation-integration-with-the-panier-api-a-step-by-step-guide-2mdf</link>
      <guid>https://dev.to/jeky1950/smile-pay-and-zimra-fiscalisation-integration-with-the-panier-api-a-step-by-step-guide-2mdf</guid>
      <description>&lt;p&gt;Today we will learn how we can use &lt;a href="https://zbnet.zb.co.zw/merchant_gateway/signup" rel="noopener noreferrer"&gt;Smile &amp;amp; Pay&lt;/a&gt; to receive an instant &lt;strong&gt;Ecocash&lt;/strong&gt;, &lt;strong&gt;Innbucks&lt;/strong&gt;, &lt;strong&gt;O'mari&lt;/strong&gt; or &lt;strong&gt;Smile Cash&lt;/strong&gt; payment and automatically create and send a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt; using &lt;strong&gt;a single &lt;a href="https://panier.app/api-documentation" rel="noopener noreferrer"&gt;Panier API&lt;/a&gt; call&lt;/strong&gt; 💪.&lt;/p&gt;

&lt;p&gt;First you need to have a &lt;a href="https://panier.app/" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; account that has been setup with &lt;strong&gt;ZIMRA Fiscalisation&lt;/strong&gt;. If you don't have one, please follow &lt;a href="https://dev.to/jeky1950/zimra-fiscalisation-with-the-panier-api-a-step-by-step-guide-1jgj"&gt;this tutorial&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup Smile &amp;amp; Pay Account
&lt;/h2&gt;

&lt;ol&gt;
   &lt;li&gt;Register a Smile Cash account &lt;a href="https://zbnet.zb.co.zw/merchant_gateway/signup" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
    &lt;li&gt;Once you have gotten your account approved, go to the &lt;a href="https://zbnet.zb.co.zw/merchant_gateway/settings/api-keys" rel="noopener noreferrer"&gt;API Keys&lt;/a&gt; section&lt;/li&gt;
    &lt;li&gt;Next, we go to the &lt;a href="https://zbnet.zb.co.zw/merchant_gateway/payment-methods" rel="noopener noreferrer"&gt;Payment Methods&lt;/a&gt; page to select who bearers the transaction cost for each payment method and then click the &lt;strong&gt;Save Configurations&lt;/strong&gt;
&lt;/li&gt;
    &lt;li&gt;Next, click the &lt;strong&gt;Generate API Key&lt;/strong&gt; button and then copy the &lt;strong&gt;API Key&lt;/strong&gt; and &lt;strong&gt;API Secret&lt;/strong&gt; into the fields below and then click &lt;strong&gt;Test Integration&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv02bbb3v7yycs1vu61mr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv02bbb3v7yycs1vu61mr.png" alt="Panier Payment Providers" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When your Smile &amp;amp; Pay integration is now live your Payment Provider page should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzvgcosmju5qsd34ca0u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnzvgcosmju5qsd34ca0u.png" alt="Live Panier Smile &amp;amp; Pay Payment Provider Page" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Make an Ecocash Payment
&lt;/h2&gt;

&lt;p&gt;Now lets do an Ecocash payment and automatically create a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt;. You need to go to the &lt;a href="https://panier.app/api-documentation#tag/sales/POST/sale/create" rel="noopener noreferrer"&gt;Create Sale&lt;/a&gt; endpoint and use this payload, making sure to replace the &lt;code&gt;customer_id&lt;/code&gt;, &lt;code&gt;product&lt;/code&gt; and &lt;code&gt;phone&lt;/code&gt; with ones from your &lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; account:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "customer_id": "cmaccp0vy0000zmksubook8hd",
    "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "selling_price": 0.10,
          "quantity": 1
        }
     ]
  },
  "zimra_fiscalize": true,
  "payment_method": {
    "type": "SMILE_PAY_ECOCASH",
    "phone": "0772000001",
    "email": "youremail@gmail.com"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get the following response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "instructions": "Dial *151*2*7# and enter your EcoCash PIN. Once you have authorized the payment via your handset, please click Check For Payment below to conclude this transaction",
  "pollurl": "https://panier.app/api/v1/payment-provider/check-payment-status?pollurl=https://zbnet.zb.co.zw/wallet_gateway/payments-gateway/payments/transaction/cmeo4ca3r0000v1f8p5wzc99e/status/check"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You need to get your customer to follow the &lt;code&gt;instructions&lt;/code&gt; on how to make the Ecocash payment. Use the &lt;code&gt;pollurl&lt;/code&gt; or &lt;a href="https://panier.app/api-documentation#tag/sales/GET/payment-provider/check-payment-status" rel="noopener noreferrer"&gt;Check Payment Status&lt;/a&gt; endpoint to check the payment status at regular intervals of about 5 seconds.&lt;/p&gt;

&lt;p&gt;When the payment is successful you should get a response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "merchantId": "20250711113952",
  "reference": "GZSZ1181TOCP",
  "orderReference": "cmepw25l9000lv1s07w1gyci9",
  "itemName": null,
  "amount": 0.10,
  "currency": "USD",
  "paymentOption": "ECOCASH",
  "status": "Completed",
  "createdDate": "2025-08-24T18:14:26.416946",
  "returnUrl": "https://panier.app?orderReference=cmepw25l9000lv1s07w1gyci9&amp;amp;transactionReference=GZSZ1181TOCP&amp;amp;status=PENDING",
  "resultUrl": "https://panier.app/api/v1/payment-provider/smile-pay/webhook",
  "clientFee": 0,
  "merchantFee": 0,
  "pollurl": "https://zbnet.zb.co.zw/wallet_gateway/payments-gateway/payments/transaction/cmeo4ca3r0000v1f8p5wzc99e/status/check",
  "sale": {
    "id": "cmaxpey550004zm3nthcoocph",
    "receipt_number": "IPID5V3JJ87E",
    "phone": "0772000001",
    "email": "john@cornerbakery.com",
    "currency": {
      "symbol": "$",
      "name": "US Dollar",
      "symbol_native": "$",
      "decimal_digits": 2,
      "rounding": 0,
      "code": "USD",
      "name_plural": "US dollars",
      "exchange_rate": 1
    },
    "products": [
      {
        "id": "cma5e7aca0000zm1x9aiabiil",
        "name": "Eggs",
        "description": "One dozen large eggs",
        "buying_price": 2.51,
        "sku": "",
        "hs_code": "0808.01.01",
        "is_inventory_item": true,
        "applicable_tax": {
          "id": "cmac8znbu0005zm0gdy8xxoi6",
          "name": "VAT Exempt",
          "percentage": null,
          "code": null,
          "zimra_tax_id": 1
        },
        "_selling_price": 0.10,
        "_quantity": 1,
        "_discount": 0,
        "_total_excluding_tax": 0.10,
        "_tax": 0,
        "_total_including_tax": 0.10
      }
    ],
    "total": 0.01,
    "discount": 0,
    "is_refunded": false,
    "refunded_at": null,
    "is_voided": false,
    "voided_at": null,
    "template_preference": {
      "template": 1,
      "color": "no_color",
      "table_layout": "Plain"
    },
    "updated_at": "2025-05-21T08:51:45.145Z",
    "created_at": "2025-05-21T08:51:45.109Z",
    "customer": {
      "id": "cmaccp0vy0000zmksubook8hd",
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": ""
    },
    "invoice": {
      "id": "cmaxpey460002zm3nryg5glz1",
      "number": "SSK2BURLOLDA",
      "date_format": "dd/mm/yy",
      "date_issued": "2025-05-21T08:51:45.073Z",
      "recipients": [
        "john@cornerbakery.com"
      ],
      "payment_due": "2025-05-21T08:51:45.073Z",
      "currency": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars",
        "exchange_rate": 1
      },
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "name": "Eggs",
          "description": "One dozen large eggs",
          "buying_price": 2.51,
          "sku": "",
          "hs_code": "0808.01.01",
          "is_inventory_item": true,
          "applicable_tax": {
            "id": "cmac8znbu0005zm0gdy8xxoi6",
            "name": "VAT Exempt",
            "percentage": null,
            "code": null,
            "zimra_tax_id": 1
          },
          "_selling_price": 0.10,
          "_quantity": 1,
          "_discount": 0,
          "_total_excluding_tax": 0.10,
          "_tax": 0,
          "_total_including_tax": 0.10
        }
      ],
      "total": 0.10,
      "discount": 0,
      "payment_information": null,
      "terms_n_conditions": null,
      "sending_status": "Send Email Notification",
      "quotation_id": null,
      "template_preference": {
        "template": 1,
        "color": "no_color",
        "table_layout": "Plain"
      },
      "is_paid": true,
      "updated_at": "2025-05-21T08:51:45.077Z",
      "created_at": "2025-05-21T08:51:45.077Z",
      "zimra_receipt": {
        "id": "cmaxpey350001zm3n20cv98iv",
        "device_id": 24455,
        "device_serial_number": "HQAUR8QVG29BBY33",
        "receipt_type": "FISCALINVOICE",
        "receipt_currency": "USD",
        "receipt_counter": 2,
        "receipt_global_no": 14,
        "receipt_date": "2025-05-21T10:51:44",
        "receipt_total": 0.10,
        "receipt_taxes": [
          {
            "taxID": 1,
            "taxAmount": 0,
            "salesAmountWithTax": 0.10
          }
        ],
        "previous_receipt_hash": "RNlOmC9SFzBf1f6teHf1sdRvndEBxRrsLmgTEzs2VEw=",
        "result_used_to_hash": "24455FISCALINVOICEUSD142025-05-21T10:51:44101RNlOmC9SFzBf1f6teHf1sdRvndEBxRrsLmgTEzs2VEw=",
        "receipt_hash": "O325QgESIiw1oe+91aHtTlHsVrZDYU1QLqcPYTaiGHI=",
        "signature": "PZuW4HH4x1fkYwKdMj8YQGVI76IF3eP51cpUHdiq42xnZi1SPEGBN7h5rtECOOLkl6egUhlXWXr35Q+TtBgDHitYuc/2J13iJwhdy3xdZCSlz8NV29d73/lziH80AjBYsOC6fV+vJToSWcYuqdSKeIbgBDcOj6CFvCCQegmU9G0mY/e3uqnmXb29TfhiTUQUNz5Y3X2RRWCCfrpFGEZk/S9PeWnjKY7RxJNrKcl11Yp+9GXYjtpsyrbP42JF6gLcGjPbj436ihUmScDoouNdKLEbWabt5FOjtmdUkJ1Xxv1aEpfjt7Nv03d6zofuQ79otLM41bisn0sFMtIjSLGGow==",
        "qr_code_url": "https://fdmstest.zimra.co.zw/0000024455210520250000000014067E79C20E8CEFCE",
        "verification_code": "067E-79C2-0E8C-EFCE",
        "receipt_data": {
          "receipt": {
            "receiptType": "FiscalInvoice",
            "receiptCurrency": "USD",
            "receiptCounter": 2,
            "receiptGlobalNo": 14,
            "receiptDate": "2025-05-21T10:51:44",
            "receiptLinesTaxInclusive": false,
            "receiptLines": [
              {
                "receiptLineType": "Sale",
                "receiptLineNo": 1,
                "receiptLineHSCode": "08080101",
                "receiptLineName": "Eggs",
                "receiptLinePrice": 0.10,
                "receiptLineQuantity": 1,
                "receiptLineTotal": 0.10,
                "taxID": 1
              }
            ],
            "receiptTaxes": [
              {
                "taxID": 1,
                "taxAmount": 0,
                "salesAmountWithTax": 0.10
              }
            ],
            "receiptPayments": [
              {
                "moneyTypeCode": "MobileWallet",
                "paymentAmount": 0.10
              }
            ],
            "receiptTotal": 0.10,
            "receiptPrintForm": "InvoiceA4",
            "receiptDeviceSignature": {
              "hash": "O325QgESIiw1oe+91aHtTlHsVrZDYU1QLqcPYTaiGHI=",
              "signature": "PZuW4HH4x1fkYwKdMj8YQGVI76IF3eP51cpUHdiq42xnZi1SPEGBN7h5rtECOOLkl6egUhlXWXr35Q+TtBgDHitYuc/2J13iJwhdy3xdZCSlz8NV29d73/lziH80AjBYsOC6fV+vJToSWcYuqdSKeIbgBDcOj6CFvCCQegmU9G0mY/e3uqnmXb29TfhiTUQUNz5Y3X2RRWCCfrpFGEZk/S9PeWnjKY7RxJNrKcl11Yp+9GXYjtpsyrbP42JF6gLcGjPbj436ihUmScDoouNdKLEbWabt5FOjtmdUkJ1Xxv1aEpfjt7Nv03d6zofuQ79otLM41bisn0sFMtIjSLGGow=="
            },
            "invoiceNo": "SSK2BURLOLDA"
          }
        },
        "server_response": {
          "receiptID": 5960796,
          "serverDate": "2025-05-21T10:51:44",
          "receiptServerSignature": {
            "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
            "hash": "IESbgGq5bHwGtZnm4lzknj785mCkcfTG24hZWP7L65M=",
            "signature": "gZC4ZSmOqDiBtXmxaIJF0jTunrFBnRfk9dizbBpGVp62i4+0jopEbkmgjjsShXDGv8NtxNjoeJ6Pi65IdrL7UhQ9dEbeA9x9Lmp8dzko138uMg9Ey9WVYMmHoISSwdHSUuetHUk0x6x2RvyUjaV32RlotHMDoyPhvEjDxkZu/+ar58n+9dCvl5hBP6u2yaFGe5QX6wrr5WxhgPZhkLAqyayPTow2m6LNVVP5GK66VZdC+xRFxealMx2BdbPrxpzHNOb5GmMACfqHz5wvPpMYuZL8LEzSYAJzKzQFbNgRgqNg5YNHKRp2L+vQbEbcy/hszjVn0v3UysFo3xTlYkzXDg=="
          },
          "validationErrors": [],
          "operationID": "0HNCDUV5BOVT4:00000001"
        },
        "validation_errors": [],
        "fiscal_day_no": 4,
        "updated_at": "2025-05-21T08:51:45.077Z",
        "created_at": "2025-05-21T08:51:45.041Z"
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Make an Innbucks Payment
&lt;/h2&gt;

&lt;p&gt;Now lets do an Innbucks payment and automatically create a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt;. You need to go to the &lt;a href="https://panier.app/api-documentation#tag/sales/POST/sale/create" rel="noopener noreferrer"&gt;Create Sale&lt;/a&gt; endpoint and use this payload, making sure to replace the &lt;code&gt;customer_id&lt;/code&gt;, &lt;code&gt;product&lt;/code&gt; and &lt;code&gt;phone&lt;/code&gt; with ones from your &lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; account:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "customer_id": "cmaccp0vy0000zmksubook8hd",
    "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "selling_price": 0.10,
          "quantity": 1
        }
     ]
  },
  "zimra_fiscalize": true,
  "payment_method": {
    "type": "SMILE_PAY_INNBUCKS",
    "phone": "0772000001",
    "email": "youremail@gmail.com"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get the following response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "innbucksPaymentCode": "601822521",
  "deep_link_url": "schinn.wbpycode://innbucks.co.zw?pymInnCode=601822521",
  "qr_code": "https://chart.googleapis.com/chart?cht=qr&amp;amp;chs=200x200&amp;amp;chl=601822521",
  "innbucks_expires_at": "21-May-2025 12:19",
  "pollurl": "https://panier.app/api/v1/payment-provider/check-payment-status?pollurl=https://zbnet.zb.co.zw/wallet_gateway/payments-gateway/payments/transaction/cmepw25l9000lv1s07w1gyci9/status/check",
  "responseMessage": "success",
  "responseCode": "00",
  "status": "AWAITING_PAYMENT",
  "orderReference": "cmepw25l9000lv1s07w1gyci9",
  "transactionReference": "GZSZ1181TOCP"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You need to get your customer to follow the &lt;code&gt;instructions&lt;/code&gt; on how to make the Innbucks payment. Use the &lt;code&gt;pollurl&lt;/code&gt; or &lt;a href="https://panier.app/api-documentation#tag/sales/GET/payment-provider/check-payment-status" rel="noopener noreferrer"&gt;Check Payment Status&lt;/a&gt; endpoint to check the payment status at regular intervals of about 5 seconds.&lt;/p&gt;

&lt;p&gt;When the payment is successful you should get a response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "merchantId": "20250711113952",
  "reference": "GZSZ1181TOCP",
  "orderReference": "cmepw25l9000lv1s07w1gyci9",
  "itemName": null,
  "amount": 0.10,
  "currency": "USD",
  "paymentOption": "ECOCASH",
  "status": "Completed",
  "createdDate": "2025-08-24T18:14:26.416946",
  "returnUrl": "https://panier.app?orderReference=cmepw25l9000lv1s07w1gyci9&amp;amp;transactionReference=GZSZ1181TOCP&amp;amp;status=PENDING",
  "resultUrl": "https://panier.app/api/v1/payment-provider/smile-pay/webhook",
  "clientFee": 0,
  "merchantFee": 0,
  "pollurl": "https://zbnet.zb.co.zw/wallet_gateway/payments-gateway/payments/transaction/cmepw25l9000lv1s07w1gyci9/status/check",
  "sale": {
    "id": "cmaxsdzpl000rzm0dqilmlkh0",
    "receipt_number": "KMY7WYXEMOM9",
    "phone": "0772000001",
    "email": "john@cornerbakery.com",
    "currency": {
      "symbol": "$",
      "name": "US Dollar",
      "symbol_native": "$",
      "decimal_digits": 2,
      "rounding": 0,
      "code": "USD",
      "name_plural": "US dollars",
      "exchange_rate": 1
    },
    "products": [
      {
        "id": "cma5e7aca0000zm1x9aiabiil",
        "name": "Eggs",
        "description": "One dozen large eggs",
        "buying_price": 2.51,
        "sku": "",
        "hs_code": "0808.01.01",
        "is_inventory_item": true,
        "applicable_tax": {
          "id": "cmac8znbu0005zm0gdy8xxoi6",
          "name": "VAT Exempt",
          "percentage": null,
          "code": null,
          "zimra_tax_id": 1
        },
        "_selling_price": 0.01,
        "_quantity": 1,
        "_discount": 0,
        "_total_excluding_tax": 0.01,
        "_tax": 0,
        "_total_including_tax": 0.01
      }
    ],
    "total": 0.01,
    "discount": 0,
    "is_refunded": false,
    "refunded_at": null,
    "is_voided": false,
    "voided_at": null,
    "template_preference": {
      "template": 1,
      "color": "no_color",
      "table_layout": "Plain"
    },
    "updated_at": "2025-05-21T10:14:59.357Z",
    "created_at": "2025-05-21T10:14:59.338Z",
    "customer": {
      "id": "cmaccp0vy0000zmksubook8hd",
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": ""
    },
    "invoice": {
      "id": "cmaxsdzor000pzm0dnh8cfbtl",
      "number": "39DC6U5EM65J",
      "date_format": "dd/mm/yy",
      "date_issued": "2025-05-21T10:14:59.305Z",
      "recipients": [
        "john@cornerbakery.com"
      ],
      "payment_due": "2025-05-21T10:14:59.305Z",
      "currency": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars",
        "exchange_rate": 1
      },
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "name": "Eggs",
          "description": "One dozen large eggs",
          "buying_price": 2.51,
          "sku": "",
          "hs_code": "0808.01.01",
          "is_inventory_item": true,
          "applicable_tax": {
            "id": "cmac8znbu0005zm0gdy8xxoi6",
            "name": "VAT Exempt",
            "percentage": null,
            "code": null,
            "zimra_tax_id": 1
          },
          "_selling_price": 0.01,
          "_quantity": 1,
          "_discount": 0,
          "_total_excluding_tax": 0.01,
          "_tax": 0,
          "_total_including_tax": 0.01
        }
      ],
      "total": 0.01,
      "discount": 0,
      "payment_information": null,
      "terms_n_conditions": null,
      "sending_status": "Send Email Notification",
      "quotation_id": null,
      "template_preference": {
        "template": 1,
        "color": "no_color",
        "table_layout": "Plain"
      },
      "is_paid": true,
      "updated_at": "2025-05-21T10:14:59.307Z",
      "created_at": "2025-05-21T10:14:59.307Z",
      "zimra_receipt": {
        "id": "cmaxsdzoc000ozm0dee2jtytg",
        "device_id": 24455,
        "device_serial_number": "HQAUR8QVG29BBY33",
        "receipt_type": "FISCALINVOICE",
        "receipt_currency": "USD",
        "receipt_counter": 4,
        "receipt_global_no": 16,
        "receipt_date": "2025-05-21T12:14:58",
        "receipt_total": 0.01,
        "receipt_taxes": [
          {
            "taxID": 1,
            "taxAmount": 0,
            "salesAmountWithTax": 0.01
          }
        ],
        "previous_receipt_hash": "fNFmaw6tK30NEVJP/bF0wIp5S0xWMrRu6EG8EFOJ/ss=",
        "result_used_to_hash": "24455FISCALINVOICEUSD162025-05-21T12:14:58101fNFmaw6tK30NEVJP/bF0wIp5S0xWMrRu6EG8EFOJ/ss=",
        "receipt_hash": "qUk5/6/cdCyoo/T2FTk9mq2tPHDDp1tNgo/pG11fwoU=",
        "signature": "AfuRWXk1X2Hw5wjjiPizGQAdug6M+e5+jQ7iSFXabPgmXTGRzhcw3EH6LEiAX6B/MN+c2l15x0DTBqN51C0Z97MvL+DPhq0+skb0CJoFydLJBAzYhR/nf6tZvIIcokYWHl6rtSVr3bgF8XNpEB8Q6foN+dn2CpLlvZdwB4eqRu5o8oxjoTH/VKbChDdGeWYwjuwYiMPGPdB2Ov1sFSIcNNHL2qkmhoE4balSugYvjhagNLDca27r2S2uXJSHZh+70BregHuxYr5xuWUNbiP6NmeZl8T8VB8lm8i/oDl7WC22sTePYObggygOkbjvguk0kp2mktwahDlY3tqELnk9fg==",
        "qr_code_url": "https://fdmstest.zimra.co.zw/0000024455210520250000000016737506EB7E49AE71",
        "verification_code": "7375-06EB-7E49-AE71",
        "receipt_data": {
          "receipt": {
            "receiptType": "FiscalInvoice",
            "receiptCurrency": "USD",
            "receiptCounter": 4,
            "receiptGlobalNo": 16,
            "receiptDate": "2025-05-21T12:14:58",
            "receiptLinesTaxInclusive": false,
            "receiptLines": [
              {
                "receiptLineType": "Sale",
                "receiptLineNo": 1,
                "receiptLineHSCode": "08080101",
                "receiptLineName": "Eggs",
                "receiptLinePrice": 0.01,
                "receiptLineQuantity": 1,
                "receiptLineTotal": 0.01,
                "taxID": 1
              }
            ],
            "receiptTaxes": [
              {
                "taxID": 1,
                "taxAmount": 0,
                "salesAmountWithTax": 0.01
              }
            ],
            "receiptPayments": [
              {
                "moneyTypeCode": "MobileWallet",
                "paymentAmount": 0.01
              }
            ],
            "receiptTotal": 0.01,
            "receiptPrintForm": "InvoiceA4",
            "receiptDeviceSignature": {
              "hash": "qUk5/6/cdCyoo/T2FTk9mq2tPHDDp1tNgo/pG11fwoU=",
              "signature": "AfuRWXk1X2Hw5wjjiPizGQAdug6M+e5+jQ7iSFXabPgmXTGRzhcw3EH6LEiAX6B/MN+c2l15x0DTBqN51C0Z97MvL+DPhq0+skb0CJoFydLJBAzYhR/nf6tZvIIcokYWHl6rtSVr3bgF8XNpEB8Q6foN+dn2CpLlvZdwB4eqRu5o8oxjoTH/VKbChDdGeWYwjuwYiMPGPdB2Ov1sFSIcNNHL2qkmhoE4balSugYvjhagNLDca27r2S2uXJSHZh+70BregHuxYr5xuWUNbiP6NmeZl8T8VB8lm8i/oDl7WC22sTePYObggygOkbjvguk0kp2mktwahDlY3tqELnk9fg=="
            },
            "invoiceNo": "39DC6U5EM65J"
          }
        },
        "server_response": {
          "receiptID": 5961141,
          "serverDate": "2025-05-21T12:14:59",
          "receiptServerSignature": {
            "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
            "hash": "aWJBHwqQR2M40iWgiVEAqtc8UtrFBKkz0eRoBkGPXdc=",
            "signature": "F35BHzB5BHurc3jEBsVeexZNkl8kwpQn4Sp8K1xGr13SjEqKdF6WkkPo9xqBBAJ8jQHZunnINrX0nluPbMUmJIte5Cea9esth95nH68fiMWhSdtWR3ikmrQ61+KxJKSCGX9rLzVcQzvYDX7jjVO8WEU5tLymrM0uCMZWMQ4npDsNK9aLRekcbf9L+2kFJLnMqs4qf2/PMvFsvIRCFdrQXOYYFzPDm8LuKpCx3yybS9RIG/7b4JmQ4auOmrEQxaGH+TWUPlxtjeJTFM8nUY7G/Afhpe7txJGs/X3ksHgw0CzdCgz5eEZC23tjfAs1UBKtyWowP7LTuL6CxkbhFYfnVg=="
          },
          "validationErrors": [],
          "operationID": "0HNCDUV5BQ539:00000001"
        },
        "validation_errors": [],
        "fiscal_day_no": 4,
        "updated_at": "2025-05-21T10:14:59.307Z",
        "created_at": "2025-05-21T10:14:59.292Z"
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If your customer was created with an email address in your Panier account, they will receive a PDF attached email like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqqtpo9l53ruw9nnygb4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqqtpo9l53ruw9nnygb4.jpg" alt="Panier ZIMRA Fiscal Invoice PDF Sample" width="800" height="1129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Statement
&lt;/h2&gt;

&lt;p&gt;We also recommend that you go over our article on &lt;a href="https://dev.to/jeky1950/zimra-fiscalisation-with-the-panier-api-a-step-by-step-guide-1jgj"&gt;ZIMRA Fiscalisation with the Panier API: A Step-by-Step Guide&lt;/a&gt; so that you can also learn how to &lt;a href="https://panier.app/api-documentation#tag/credit-notes/POST/credit-note/create" rel="noopener noreferrer"&gt;Create Credit Notes&lt;/a&gt; and &lt;a href="https://panier.app/api-documentation#tag/debit-notes/POST/debit-note/create" rel="noopener noreferrer"&gt;Create Debit Notes&lt;/a&gt;. If you have any questions feel free to ask in the comments section or contact me directly on &lt;a href="mailto:support@panier.app"&gt;support@panier.app&lt;/a&gt; and I will get back to you has quickly as I can.&lt;/p&gt;

</description>
      <category>zimra</category>
      <category>fiscalisation</category>
      <category>panier</category>
      <category>smilepay</category>
    </item>
    <item>
      <title>Paynow and ZIMRA Fiscalisation Integration with the Panier API: a Step-by-Step Guide</title>
      <dc:creator>Anthony Jekanyika</dc:creator>
      <pubDate>Wed, 21 May 2025 14:29:05 +0000</pubDate>
      <link>https://dev.to/jeky1950/paynow-and-zimra-fiscalisation-integration-with-the-panier-api-a-step-by-step-guide-586g</link>
      <guid>https://dev.to/jeky1950/paynow-and-zimra-fiscalisation-integration-with-the-panier-api-a-step-by-step-guide-586g</guid>
      <description>&lt;p&gt;Today we will learn how we can use &lt;a href="https://paynow.co.zw/" rel="noopener noreferrer"&gt;Paynow&lt;/a&gt; to receive an instant &lt;strong&gt;Ecocash&lt;/strong&gt; or &lt;strong&gt;Innbucks&lt;/strong&gt; payment and automatically create and send a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt; using &lt;strong&gt;a single &lt;a href="https://panier.app/api-documentation" rel="noopener noreferrer"&gt;Panier API&lt;/a&gt; call&lt;/strong&gt; 💪.&lt;/p&gt;

&lt;p&gt;First you need to have a &lt;a href="https://panier.app/" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; account that has been setup with &lt;strong&gt;ZIMRA Fiscalisation&lt;/strong&gt;. If you don't have one, please follow &lt;a href="https://dev.to/jeky1950/zimra-fiscalisation-with-the-panier-api-a-step-by-step-guide-1jgj"&gt;this tutorial&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup Paynow Account
&lt;/h2&gt;

&lt;ol&gt;
    &lt;li&gt;Register as a Paynow &lt;strong&gt;Merchant&lt;/strong&gt; &lt;a href="https://www.paynow.co.zw/Customer/Register" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
    &lt;li&gt;Go to the &lt;a href="https://www.paynow.co.zw/PaymentMethod" rel="noopener noreferrer"&gt;Payment Methods&lt;/a&gt; section and then add &lt;strong&gt;Ecocash (USD)&lt;/strong&gt; and &lt;strong&gt;Innbucks (USD)&lt;/strong&gt; payment methods (Panier currently only supports these payment methods and only in USD)&lt;/li&gt;
    &lt;li&gt;Next, go to the &lt;a href="https://www.paynow.co.zw/ExternalSite/Create" rel="noopener noreferrer"&gt;Create 3rd Party Shopping Cart or Link&lt;/a&gt; section and fill out the form, making sure to select all the previously added payment methods, that is, &lt;strong&gt;Ecocash&lt;/strong&gt; and &lt;strong&gt;Innbucks&lt;/strong&gt;
&lt;/li&gt;
    &lt;li&gt;Unselect the &lt;strong&gt;Require Customer Name&lt;/strong&gt; and &lt;strong&gt;Require Customer Phone&lt;/strong&gt; check boxes (You can enter anything that you want under &lt;strong&gt;name&lt;/strong&gt;)&lt;/li&gt;
    &lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt; to complete the form&lt;/li&gt;
    &lt;li&gt;Go to the &lt;strong&gt;Payment Provider&lt;/strong&gt; page of your Panier account and copy down the &lt;strong&gt;Email&lt;/strong&gt; that you used to create the Paynow merchant account, &lt;strong&gt;Integration ID&lt;/strong&gt; and &lt;strong&gt;Integration Key&lt;/strong&gt; into the fields in the image below and then click &lt;strong&gt;Test Transaction&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfvv3t52r4lduukfa36w.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfvv3t52r4lduukfa36w.PNG" alt="Panier Payment Providers" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When your Paynow integration is now live your Payment Provider page should look like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbed73woamu36d20lizuc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbed73woamu36d20lizuc.PNG" alt="Live Panier Paynow Payment Provider Page" width="800" height="402"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Make an Ecocash Payment
&lt;/h2&gt;

&lt;p&gt;Now lets do an Ecocash payment and automatically create a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt;. You need to go to the &lt;a href="https://panier.app/api-documentation#tag/sales/POST/sale/create" rel="noopener noreferrer"&gt;Create Sale&lt;/a&gt; endpoint and use this payload, making sure to replace the &lt;code&gt;customer_id&lt;/code&gt;, &lt;code&gt;product&lt;/code&gt; and &lt;code&gt;phone&lt;/code&gt; with ones from your &lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; account:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "customer_id": "cmaccp0vy0000zmksubook8hd",
    "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "selling_price": 0.10,
          "quantity": 1
        }
     ]
  },
  "zimra_fiscalize": true,
  "payment_method": {
    "type": "PAYNOW_ECOCASH",
    "phone": "0772000001",
    "email": "youremail@gmail.com"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get the following response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "instructions": "Dial *151*2*7# and enter your EcoCash PIN. Once you have authorized the payment via your handset, please click Check For Payment below to conclude this transaction",
  "pollurl": "https://panier.app/api/v1/payment-provider/paynow/check-payment-status?pollurl=https://www.paynow.co.zw/Interface/CheckPayment/?guid=c3909f34-7a1f-4dda-a99c-2954cfa67e11"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You need to get your customer to follow the &lt;code&gt;instructions&lt;/code&gt; on how to make the Ecocash payment. Use the &lt;code&gt;pollurl&lt;/code&gt; or &lt;a href="https://panier.app/api-documentation#tag/sales/GET/payment-provider/paynow/check-payment-status" rel="noopener noreferrer"&gt;Check Payment Status&lt;/a&gt; endpoint to check the payment status at regular intervals of about 5 seconds.&lt;/p&gt;

&lt;p&gt;When the payment is successful you should get a response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "reference": "cmaxpemg40007zm1gd5x5jng7",
  "paynowreference": "25107608",
  "amount": "0.10",
  "status": "Completed",
  "pollurl": "https%3a%2f%2fwww.paynow.co.zw%2fInterface%2fCheckPayment%2f%3fguid%3daf008834-edf0-4e41-aea1-5e0422095fae",
  "hash": "C06C9AB2B90823B0D39B1CD058D0943C944DD75FC2EE1BA4D66F506FE8F6DD4C0D7F3925DF667D20EB4A4C10AA1C511AF327D06D059FCE691B9140545468BA00",
  "direct_paynow_pollurl": "https://www.paynow.co.zw/Interface/CheckPayment/?guid=af008834-edf0-4e41-aea1-5e0422095fae",
  "sale": {
    "id": "cmaxpey550004zm3nthcoocph",
    "receipt_number": "IPID5V3JJ87E",
    "phone": "0772000001",
    "email": "john@cornerbakery.com",
    "currency": {
      "symbol": "$",
      "name": "US Dollar",
      "symbol_native": "$",
      "decimal_digits": 2,
      "rounding": 0,
      "code": "USD",
      "name_plural": "US dollars",
      "exchange_rate": 1
    },
    "products": [
      {
        "id": "cma5e7aca0000zm1x9aiabiil",
        "name": "Eggs",
        "description": "One dozen large eggs",
        "buying_price": 2.51,
        "sku": "",
        "hs_code": "0808.01.01",
        "is_inventory_item": true,
        "applicable_tax": {
          "id": "cmac8znbu0005zm0gdy8xxoi6",
          "name": "VAT Exempt",
          "percentage": null,
          "code": null,
          "zimra_tax_id": 1
        },
        "_selling_price": 0.10,
        "_quantity": 1,
        "_discount": 0,
        "_total_excluding_tax": 0.10,
        "_tax": 0,
        "_total_including_tax": 0.10
      }
    ],
    "total": 0.01,
    "discount": 0,
    "is_refunded": false,
    "refunded_at": null,
    "is_voided": false,
    "voided_at": null,
    "template_preference": {
      "template": 1,
      "color": "no_color",
      "table_layout": "Plain"
    },
    "updated_at": "2025-05-21T08:51:45.145Z",
    "created_at": "2025-05-21T08:51:45.109Z",
    "customer": {
      "id": "cmaccp0vy0000zmksubook8hd",
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": ""
    },
    "invoice": {
      "id": "cmaxpey460002zm3nryg5glz1",
      "number": "SSK2BURLOLDA",
      "date_format": "dd/mm/yy",
      "date_issued": "2025-05-21T08:51:45.073Z",
      "recipients": [
        "john@cornerbakery.com"
      ],
      "payment_due": "2025-05-21T08:51:45.073Z",
      "currency": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars",
        "exchange_rate": 1
      },
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "name": "Eggs",
          "description": "One dozen large eggs",
          "buying_price": 2.51,
          "sku": "",
          "hs_code": "0808.01.01",
          "is_inventory_item": true,
          "applicable_tax": {
            "id": "cmac8znbu0005zm0gdy8xxoi6",
            "name": "VAT Exempt",
            "percentage": null,
            "code": null,
            "zimra_tax_id": 1
          },
          "_selling_price": 0.10,
          "_quantity": 1,
          "_discount": 0,
          "_total_excluding_tax": 0.10,
          "_tax": 0,
          "_total_including_tax": 0.10
        }
      ],
      "total": 0.10,
      "discount": 0,
      "payment_information": null,
      "terms_n_conditions": null,
      "sending_status": "Send Email Notification",
      "quotation_id": null,
      "template_preference": {
        "template": 1,
        "color": "no_color",
        "table_layout": "Plain"
      },
      "is_paid": true,
      "updated_at": "2025-05-21T08:51:45.077Z",
      "created_at": "2025-05-21T08:51:45.077Z",
      "zimra_receipt": {
        "id": "cmaxpey350001zm3n20cv98iv",
        "device_id": 24455,
        "device_serial_number": "HQAUR8QVG29BBY33",
        "receipt_type": "FISCALINVOICE",
        "receipt_currency": "USD",
        "receipt_counter": 2,
        "receipt_global_no": 14,
        "receipt_date": "2025-05-21T10:51:44",
        "receipt_total": 0.10,
        "receipt_taxes": [
          {
            "taxID": 1,
            "taxAmount": 0,
            "salesAmountWithTax": 0.10
          }
        ],
        "previous_receipt_hash": "RNlOmC9SFzBf1f6teHf1sdRvndEBxRrsLmgTEzs2VEw=",
        "result_used_to_hash": "24455FISCALINVOICEUSD142025-05-21T10:51:44101RNlOmC9SFzBf1f6teHf1sdRvndEBxRrsLmgTEzs2VEw=",
        "receipt_hash": "O325QgESIiw1oe+91aHtTlHsVrZDYU1QLqcPYTaiGHI=",
        "signature": "PZuW4HH4x1fkYwKdMj8YQGVI76IF3eP51cpUHdiq42xnZi1SPEGBN7h5rtECOOLkl6egUhlXWXr35Q+TtBgDHitYuc/2J13iJwhdy3xdZCSlz8NV29d73/lziH80AjBYsOC6fV+vJToSWcYuqdSKeIbgBDcOj6CFvCCQegmU9G0mY/e3uqnmXb29TfhiTUQUNz5Y3X2RRWCCfrpFGEZk/S9PeWnjKY7RxJNrKcl11Yp+9GXYjtpsyrbP42JF6gLcGjPbj436ihUmScDoouNdKLEbWabt5FOjtmdUkJ1Xxv1aEpfjt7Nv03d6zofuQ79otLM41bisn0sFMtIjSLGGow==",
        "qr_code_url": "https://fdmstest.zimra.co.zw/0000024455210520250000000014067E79C20E8CEFCE",
        "verification_code": "067E-79C2-0E8C-EFCE",
        "receipt_data": {
          "receipt": {
            "receiptType": "FiscalInvoice",
            "receiptCurrency": "USD",
            "receiptCounter": 2,
            "receiptGlobalNo": 14,
            "receiptDate": "2025-05-21T10:51:44",
            "receiptLinesTaxInclusive": false,
            "receiptLines": [
              {
                "receiptLineType": "Sale",
                "receiptLineNo": 1,
                "receiptLineHSCode": "08080101",
                "receiptLineName": "Eggs",
                "receiptLinePrice": 0.10,
                "receiptLineQuantity": 1,
                "receiptLineTotal": 0.10,
                "taxID": 1
              }
            ],
            "receiptTaxes": [
              {
                "taxID": 1,
                "taxAmount": 0,
                "salesAmountWithTax": 0.10
              }
            ],
            "receiptPayments": [
              {
                "moneyTypeCode": "MobileWallet",
                "paymentAmount": 0.10
              }
            ],
            "receiptTotal": 0.10,
            "receiptPrintForm": "InvoiceA4",
            "receiptDeviceSignature": {
              "hash": "O325QgESIiw1oe+91aHtTlHsVrZDYU1QLqcPYTaiGHI=",
              "signature": "PZuW4HH4x1fkYwKdMj8YQGVI76IF3eP51cpUHdiq42xnZi1SPEGBN7h5rtECOOLkl6egUhlXWXr35Q+TtBgDHitYuc/2J13iJwhdy3xdZCSlz8NV29d73/lziH80AjBYsOC6fV+vJToSWcYuqdSKeIbgBDcOj6CFvCCQegmU9G0mY/e3uqnmXb29TfhiTUQUNz5Y3X2RRWCCfrpFGEZk/S9PeWnjKY7RxJNrKcl11Yp+9GXYjtpsyrbP42JF6gLcGjPbj436ihUmScDoouNdKLEbWabt5FOjtmdUkJ1Xxv1aEpfjt7Nv03d6zofuQ79otLM41bisn0sFMtIjSLGGow=="
            },
            "invoiceNo": "SSK2BURLOLDA"
          }
        },
        "server_response": {
          "receiptID": 5960796,
          "serverDate": "2025-05-21T10:51:44",
          "receiptServerSignature": {
            "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
            "hash": "IESbgGq5bHwGtZnm4lzknj785mCkcfTG24hZWP7L65M=",
            "signature": "gZC4ZSmOqDiBtXmxaIJF0jTunrFBnRfk9dizbBpGVp62i4+0jopEbkmgjjsShXDGv8NtxNjoeJ6Pi65IdrL7UhQ9dEbeA9x9Lmp8dzko138uMg9Ey9WVYMmHoISSwdHSUuetHUk0x6x2RvyUjaV32RlotHMDoyPhvEjDxkZu/+ar58n+9dCvl5hBP6u2yaFGe5QX6wrr5WxhgPZhkLAqyayPTow2m6LNVVP5GK66VZdC+xRFxealMx2BdbPrxpzHNOb5GmMACfqHz5wvPpMYuZL8LEzSYAJzKzQFbNgRgqNg5YNHKRp2L+vQbEbcy/hszjVn0v3UysFo3xTlYkzXDg=="
          },
          "validationErrors": [],
          "operationID": "0HNCDUV5BOVT4:00000001"
        },
        "validation_errors": [],
        "fiscal_day_no": 4,
        "updated_at": "2025-05-21T08:51:45.077Z",
        "created_at": "2025-05-21T08:51:45.041Z"
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Make an Innbucks Payment
&lt;/h2&gt;

&lt;p&gt;Now lets do an Innbucks payment and automatically create a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt;. You need to go to the &lt;a href="https://panier.app/api-documentation#tag/sales/POST/sale/create" rel="noopener noreferrer"&gt;Create Sale&lt;/a&gt; endpoint and use this payload, making sure to replace the &lt;code&gt;customer_id&lt;/code&gt;, &lt;code&gt;product&lt;/code&gt; and &lt;code&gt;phone&lt;/code&gt; with ones from your &lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; account:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "customer_id": "cmaccp0vy0000zmksubook8hd",
    "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "selling_price": 0.10,
          "quantity": 1
        }
     ]
  },
  "zimra_fiscalize": true,
  "payment_method": {
    "type": "PAYNOW_INNBUCKS",
    "phone": "0772000001",
    "email": "youremail@gmail.com"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get the following response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "instructions": "Dial *569#. Log into your Innbucks Account. Select Pay and enter 601822521 as your 2D Code.",
  "authorizationcode": "601822521",
  "deep_link_url": "schinn.wbpycode://innbucks.co.zw?pymInnCode=601822521",
  "qr_code": "https://chart.googleapis.com/chart?cht=qr&amp;amp;chs=200x200&amp;amp;chl=601822521",
  "expires_at": "21-May-2025 12:19",
  "pollurl": "https://panier.app/api/v1/payment-provider/paynow/check-payment-status?pollurl=https://www.paynow.co.zw/Interface/CheckPayment/?guid=b73f9d55-4a9d-46b6-a221-b0bca0d9ef47"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You need to get your customer to follow the &lt;code&gt;instructions&lt;/code&gt; on how to make the Innbucks payment. Use the &lt;code&gt;pollurl&lt;/code&gt; or &lt;a href="https://panier.app/api-documentation#tag/sales/GET/payment-provider/paynow/check-payment-status" rel="noopener noreferrer"&gt;Check Payment Status&lt;/a&gt; endpoint to check the payment status at regular intervals of about 5 seconds.&lt;/p&gt;

&lt;p&gt;When the payment is successful you should get a response like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "reference": "cmaxsceop0005zm1fe8ue6bte",
  "paynowreference": "25111200",
  "amount": "0.01",
  "status": "Completed",
  "pollurl": "https%3a%2f%2fwww.paynow.co.zw%2fInterface%2fCheckPayment%2f%3fguid%3d252399f2-ea8b-4a25-989d-0f7e1baefff0",
  "hash": "C7C85B344262A1B2A8C10FB154151C71D01FB62CF0CC8397964F879B3CAEB2D3BE29EEA82EF43BD997B870A0ECC24F4BEFAA9328748876F5D0E919F493865805",
  "direct_paynow_pollurl": "https://www.paynow.co.zw/Interface/CheckPayment/?guid=252399f2-ea8b-4a25-989d-0f7e1baefff0",
  "sale": {
    "id": "cmaxsdzpl000rzm0dqilmlkh0",
    "receipt_number": "KMY7WYXEMOM9",
    "phone": "0772000001",
    "email": "john@cornerbakery.com",
    "currency": {
      "symbol": "$",
      "name": "US Dollar",
      "symbol_native": "$",
      "decimal_digits": 2,
      "rounding": 0,
      "code": "USD",
      "name_plural": "US dollars",
      "exchange_rate": 1
    },
    "products": [
      {
        "id": "cma5e7aca0000zm1x9aiabiil",
        "name": "Eggs",
        "description": "One dozen large eggs",
        "buying_price": 2.51,
        "sku": "",
        "hs_code": "0808.01.01",
        "is_inventory_item": true,
        "applicable_tax": {
          "id": "cmac8znbu0005zm0gdy8xxoi6",
          "name": "VAT Exempt",
          "percentage": null,
          "code": null,
          "zimra_tax_id": 1
        },
        "_selling_price": 0.01,
        "_quantity": 1,
        "_discount": 0,
        "_total_excluding_tax": 0.01,
        "_tax": 0,
        "_total_including_tax": 0.01
      }
    ],
    "total": 0.01,
    "discount": 0,
    "is_refunded": false,
    "refunded_at": null,
    "is_voided": false,
    "voided_at": null,
    "template_preference": {
      "template": 1,
      "color": "no_color",
      "table_layout": "Plain"
    },
    "updated_at": "2025-05-21T10:14:59.357Z",
    "created_at": "2025-05-21T10:14:59.338Z",
    "customer": {
      "id": "cmaccp0vy0000zmksubook8hd",
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": ""
    },
    "invoice": {
      "id": "cmaxsdzor000pzm0dnh8cfbtl",
      "number": "39DC6U5EM65J",
      "date_format": "dd/mm/yy",
      "date_issued": "2025-05-21T10:14:59.305Z",
      "recipients": [
        "john@cornerbakery.com"
      ],
      "payment_due": "2025-05-21T10:14:59.305Z",
      "currency": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars",
        "exchange_rate": 1
      },
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "name": "Eggs",
          "description": "One dozen large eggs",
          "buying_price": 2.51,
          "sku": "",
          "hs_code": "0808.01.01",
          "is_inventory_item": true,
          "applicable_tax": {
            "id": "cmac8znbu0005zm0gdy8xxoi6",
            "name": "VAT Exempt",
            "percentage": null,
            "code": null,
            "zimra_tax_id": 1
          },
          "_selling_price": 0.01,
          "_quantity": 1,
          "_discount": 0,
          "_total_excluding_tax": 0.01,
          "_tax": 0,
          "_total_including_tax": 0.01
        }
      ],
      "total": 0.01,
      "discount": 0,
      "payment_information": null,
      "terms_n_conditions": null,
      "sending_status": "Send Email Notification",
      "quotation_id": null,
      "template_preference": {
        "template": 1,
        "color": "no_color",
        "table_layout": "Plain"
      },
      "is_paid": true,
      "updated_at": "2025-05-21T10:14:59.307Z",
      "created_at": "2025-05-21T10:14:59.307Z",
      "zimra_receipt": {
        "id": "cmaxsdzoc000ozm0dee2jtytg",
        "device_id": 24455,
        "device_serial_number": "HQAUR8QVG29BBY33",
        "receipt_type": "FISCALINVOICE",
        "receipt_currency": "USD",
        "receipt_counter": 4,
        "receipt_global_no": 16,
        "receipt_date": "2025-05-21T12:14:58",
        "receipt_total": 0.01,
        "receipt_taxes": [
          {
            "taxID": 1,
            "taxAmount": 0,
            "salesAmountWithTax": 0.01
          }
        ],
        "previous_receipt_hash": "fNFmaw6tK30NEVJP/bF0wIp5S0xWMrRu6EG8EFOJ/ss=",
        "result_used_to_hash": "24455FISCALINVOICEUSD162025-05-21T12:14:58101fNFmaw6tK30NEVJP/bF0wIp5S0xWMrRu6EG8EFOJ/ss=",
        "receipt_hash": "qUk5/6/cdCyoo/T2FTk9mq2tPHDDp1tNgo/pG11fwoU=",
        "signature": "AfuRWXk1X2Hw5wjjiPizGQAdug6M+e5+jQ7iSFXabPgmXTGRzhcw3EH6LEiAX6B/MN+c2l15x0DTBqN51C0Z97MvL+DPhq0+skb0CJoFydLJBAzYhR/nf6tZvIIcokYWHl6rtSVr3bgF8XNpEB8Q6foN+dn2CpLlvZdwB4eqRu5o8oxjoTH/VKbChDdGeWYwjuwYiMPGPdB2Ov1sFSIcNNHL2qkmhoE4balSugYvjhagNLDca27r2S2uXJSHZh+70BregHuxYr5xuWUNbiP6NmeZl8T8VB8lm8i/oDl7WC22sTePYObggygOkbjvguk0kp2mktwahDlY3tqELnk9fg==",
        "qr_code_url": "https://fdmstest.zimra.co.zw/0000024455210520250000000016737506EB7E49AE71",
        "verification_code": "7375-06EB-7E49-AE71",
        "receipt_data": {
          "receipt": {
            "receiptType": "FiscalInvoice",
            "receiptCurrency": "USD",
            "receiptCounter": 4,
            "receiptGlobalNo": 16,
            "receiptDate": "2025-05-21T12:14:58",
            "receiptLinesTaxInclusive": false,
            "receiptLines": [
              {
                "receiptLineType": "Sale",
                "receiptLineNo": 1,
                "receiptLineHSCode": "08080101",
                "receiptLineName": "Eggs",
                "receiptLinePrice": 0.01,
                "receiptLineQuantity": 1,
                "receiptLineTotal": 0.01,
                "taxID": 1
              }
            ],
            "receiptTaxes": [
              {
                "taxID": 1,
                "taxAmount": 0,
                "salesAmountWithTax": 0.01
              }
            ],
            "receiptPayments": [
              {
                "moneyTypeCode": "MobileWallet",
                "paymentAmount": 0.01
              }
            ],
            "receiptTotal": 0.01,
            "receiptPrintForm": "InvoiceA4",
            "receiptDeviceSignature": {
              "hash": "qUk5/6/cdCyoo/T2FTk9mq2tPHDDp1tNgo/pG11fwoU=",
              "signature": "AfuRWXk1X2Hw5wjjiPizGQAdug6M+e5+jQ7iSFXabPgmXTGRzhcw3EH6LEiAX6B/MN+c2l15x0DTBqN51C0Z97MvL+DPhq0+skb0CJoFydLJBAzYhR/nf6tZvIIcokYWHl6rtSVr3bgF8XNpEB8Q6foN+dn2CpLlvZdwB4eqRu5o8oxjoTH/VKbChDdGeWYwjuwYiMPGPdB2Ov1sFSIcNNHL2qkmhoE4balSugYvjhagNLDca27r2S2uXJSHZh+70BregHuxYr5xuWUNbiP6NmeZl8T8VB8lm8i/oDl7WC22sTePYObggygOkbjvguk0kp2mktwahDlY3tqELnk9fg=="
            },
            "invoiceNo": "39DC6U5EM65J"
          }
        },
        "server_response": {
          "receiptID": 5961141,
          "serverDate": "2025-05-21T12:14:59",
          "receiptServerSignature": {
            "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
            "hash": "aWJBHwqQR2M40iWgiVEAqtc8UtrFBKkz0eRoBkGPXdc=",
            "signature": "F35BHzB5BHurc3jEBsVeexZNkl8kwpQn4Sp8K1xGr13SjEqKdF6WkkPo9xqBBAJ8jQHZunnINrX0nluPbMUmJIte5Cea9esth95nH68fiMWhSdtWR3ikmrQ61+KxJKSCGX9rLzVcQzvYDX7jjVO8WEU5tLymrM0uCMZWMQ4npDsNK9aLRekcbf9L+2kFJLnMqs4qf2/PMvFsvIRCFdrQXOYYFzPDm8LuKpCx3yybS9RIG/7b4JmQ4auOmrEQxaGH+TWUPlxtjeJTFM8nUY7G/Afhpe7txJGs/X3ksHgw0CzdCgz5eEZC23tjfAs1UBKtyWowP7LTuL6CxkbhFYfnVg=="
          },
          "validationErrors": [],
          "operationID": "0HNCDUV5BQ539:00000001"
        },
        "validation_errors": [],
        "fiscal_day_no": 4,
        "updated_at": "2025-05-21T10:14:59.307Z",
        "created_at": "2025-05-21T10:14:59.292Z"
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If your customer was created with an email address in your Panier account, they will receive a PDF attached email like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqqtpo9l53ruw9nnygb4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqqtpo9l53ruw9nnygb4.jpg" alt="Panier ZIMRA Fiscal Invoice PDF Sample" width="800" height="1129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Statement
&lt;/h2&gt;

&lt;p&gt;We also recommend that you go over our article on &lt;a href="https://dev.to/jeky1950/zimra-fiscalisation-with-the-panier-api-a-step-by-step-guide-1jgj"&gt;ZIMRA Fiscalisation with the Panier API: A Step-by-Step Guide&lt;/a&gt; so that you can also learn how to &lt;a href="https://panier.app/api-documentation#tag/credit-notes/POST/credit-note/create" rel="noopener noreferrer"&gt;Create Credit Notes&lt;/a&gt; and &lt;a href="https://panier.app/api-documentation#tag/debit-notes/POST/debit-note/create" rel="noopener noreferrer"&gt;Create Debit Notes&lt;/a&gt;. If you have any questions feel free to ask in the comments section or contact me directly on &lt;a href="mailto:support@panier.app"&gt;support@panier.app&lt;/a&gt; and I will get back to you has quickly as I can.&lt;/p&gt;

</description>
      <category>zimra</category>
      <category>paynow</category>
      <category>panier</category>
      <category>api</category>
    </item>
    <item>
      <title>ZIMRA Fiscalisation with the Panier API: A Step-by-Step Guide</title>
      <dc:creator>Anthony Jekanyika</dc:creator>
      <pubDate>Tue, 06 May 2025 12:27:02 +0000</pubDate>
      <link>https://dev.to/jeky1950/zimra-fiscalisation-with-the-panier-api-a-step-by-step-guide-1jgj</link>
      <guid>https://dev.to/jeky1950/zimra-fiscalisation-with-the-panier-api-a-step-by-step-guide-1jgj</guid>
      <description>&lt;p&gt;&lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; is a system built for small business with features including Point of Sale, Invoices, Credit Notes, Debit Notes, Delivery Notes, Quotations, Multi-Currency, Stock Management, Profit and Loss and much more. Panier also includes the ability to &lt;a href="https://www.zimra.co.zw/domestic-taxes/corporate/fiscalisation-explained" rel="noopener noreferrer"&gt;ZIMRA Fiscalize&lt;/a&gt; and extends this ability to the &lt;a href="https://panier.app/api-documentation" rel="noopener noreferrer"&gt;Panier API&lt;/a&gt; allowing you to integrate with it from your project. In this article we will show you how you can integrate your project with &lt;a href="https://www.zimra.co.zw/news/22-taxmans-corner/2307-compliance-with-the-zimra-fiscalisation-data-management-system-fdms" rel="noopener noreferrer"&gt;ZIMRA's FDMS&lt;/a&gt; through the &lt;a href="https://panier.app/api-documentation" rel="noopener noreferrer"&gt;Panier API&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup Panier
&lt;/h2&gt;

&lt;p&gt;First you need to register an account on &lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; and create a company if you don't already have one. You will get a &lt;strong&gt;14 day FREE trial&lt;/strong&gt; when you register, after which you will have to pay a &lt;strong&gt;US$4.99 monthly subscription&lt;/strong&gt; for each company that you have.&lt;/p&gt;

&lt;p&gt;Next navigate to the &lt;strong&gt;Developer API&lt;/strong&gt; page of your company and generate the API Credentials.&lt;/p&gt;

&lt;p&gt;Next go to the &lt;strong&gt;API Credentials&lt;/strong&gt; tab and copy down the &lt;strong&gt;APP ID&lt;/strong&gt; and &lt;strong&gt;API KEY&lt;/strong&gt;, we are going to need them later.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25qd320xxad99rvvb81e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F25qd320xxad99rvvb81e.PNG" alt="Panier API Credentials Tab" width="800" height="476"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ZIMRA Fiscalisation Integration
&lt;/h2&gt;

&lt;p&gt;We are now going to generate a &lt;strong&gt;ZIMRA Virtual Fiscal Device&lt;/strong&gt; by going to the &lt;strong&gt;ZIMRA Fisc&lt;/strong&gt; page of our company and filling in the form with your ZIMRA VAT information. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjxcb1pjw8zr0py513omz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjxcb1pjw8zr0py513omz.PNG" alt="Panier ZIMRA Fiscalisation Setup Form" width="800" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will automatically generate the virtual fiscal device for you in about 5 minutes (depending on your internet connection) and automatically submit it for approval to ZIMRA (This might take up to 3 working days). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hw33j5wuf44ydzth9h9.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hw33j5wuf44ydzth9h9.PNG" alt="Panier ZIMRA Integration Progress Page" width="800" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whilst you wait for your virtual fiscal device to be approved and put into production, you can use the API inside &lt;strong&gt;ZIMRA's test environment&lt;/strong&gt;, which is what we will be doing today.&lt;/p&gt;

&lt;h2&gt;
  
  
  ZIMRA Taxes
&lt;/h2&gt;

&lt;p&gt;When generate a virtual fiscal device, ZIMRA will send us a list of applicable taxes that you can use. We then add these ZIMRA Taxes, as &lt;code&gt;readonly&lt;/code&gt; taxes on your company's &lt;strong&gt;Taxes&lt;/strong&gt; page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfd7rln1z3bmpyerx3kj.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfd7rln1z3bmpyerx3kj.PNG" alt="Panier ZIMRA Taxes list" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;All the products you create must be linked to one of these ZIMRA Taxes in order to fiscalize. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Setup API Credentials
&lt;/h2&gt;

&lt;p&gt;You need to open the &lt;a href="https://panier.app/api-documentation" rel="noopener noreferrer"&gt;Panier API Documentation&lt;/a&gt; and add the &lt;strong&gt;APP ID&lt;/strong&gt; and &lt;strong&gt;API KEY&lt;/strong&gt; in order to get access to the API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhaybu6bhpfc6jo78gavw.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhaybu6bhpfc6jo78gavw.PNG" alt="Panier API Credentials" width="800" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Get the ZIMRA Taxes
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://panier.app/api-documentation#tag/taxes/POST/tax/search" rel="noopener noreferrer"&gt;Search Taxes&lt;/a&gt; endpoint and run the request, with the following payload so that we get all the taxes associated with your company:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": {
    "query": "*"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If everything went well, you should get a response similar to this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "searched": [
    {
      "id": "cmac8znc00008zm0gxrwpm55t",
      "name": "VAT",
      "percentage": 5,
      "code": null,
      "zimra_tax_id": 514,
      "updated_at": "2025-05-06T08:28:53.673Z",
      "created_at": "2025-05-06T08:28:47.712Z"
    },
    {
      "id": "cmac8znby0006zm0gppkcd15d",
      "name": "VAT",
      "percentage": 0,
      "code": null,
      "zimra_tax_id": 2,
      "updated_at": "2025-05-06T08:28:53.658Z",
      "created_at": "2025-05-06T08:28:47.710Z"
    },
    {
      "id": "cmac8znby0007zm0gilfcssvi",
      "name": "VAT",
      "percentage": 15,
      "code": null,
      "zimra_tax_id": 3,
      "updated_at": "2025-05-06T08:28:53.656Z",
      "created_at": "2025-05-06T08:28:47.710Z"
    },
    {
      "id": "cmac8znbu0005zm0gdy8xxoi6",
      "name": "VAT Exempt",
      "percentage": null,
      "code": null,
      "zimra_tax_id": 1,
      "updated_at": "2025-05-06T08:28:53.653Z",
      "created_at": "2025-05-06T08:28:47.707Z"
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Notice that &lt;strong&gt;ZIMRA Taxes&lt;/strong&gt; have a non-null &lt;code&gt;zimra_tax_id&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Create a Product
&lt;/h2&gt;

&lt;p&gt;Go to the &lt;a href="https://panier.app/api-documentation#tag/products/POST/product/create" rel="noopener noreferrer"&gt;Create Product&lt;/a&gt; endpoint and create a product. Making sure to link one of the ZIMRA Taxes above. For this example we will use the &lt;code&gt;id&lt;/code&gt; of the ZIMRA &lt;strong&gt;VAT Exempt&lt;/strong&gt; tax as the &lt;code&gt;applicable_tax_id&lt;/code&gt; in the following payload:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": [
    {
      "name": "Eggs",
      "description": "One dozen large eggs",
      "buying_price": 2.51,
      "selling_price": 5.81,
      "initial_quantity": 100,
      "hs_code": "0808.01.01",
      "is_inventory_item": true,
      "applicable_tax_id": "cmac8znbu0005zm0gdy8xxoi6"
    }
  ],
  "overwrite_duplicates": true
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;According to the &lt;a href="https://www.zimra.co.zw/news/2308-use-of-harmonized-system-codes-hs-codes-under-domestic-taxes-in-recording-of-sales-transactions-using-fiscal-devices" rel="noopener noreferrer"&gt;ZIMRA Guidelines&lt;/a&gt; all products now need to have an &lt;a href="https://en.wikipedia.org/wiki/Harmonized_System" rel="noopener noreferrer"&gt;HS Code&lt;/a&gt; in order to fiscalize.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You should get a similar response to this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "created": [
    {
      "id": "cma5e7aca0000zm1x9aiabiil",
      "name": "Eggs",
      "description": "One dozen large eggs",
      "buying_price": 2.51,
      "sku": "",
      "hs_code": "0808.01.01",
      "selling_price": 5.81,
      "quantity": 100,
      "is_inventory_item": true,
      "updated_at": "2025-05-06T09:26:12.407Z",
      "created_at": "2025-05-01T13:20:18.970Z",
      "applicable_tax": {
        "id": "cmac8znbu0005zm0gdy8xxoi6",
        "name": "VAT Exempt",
        "percentage": null,
        "code": null,
        "zimra_tax_id": 1
      }
    }
  ],
  "excluded_duplicates": []
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a Customer
&lt;/h2&gt;

&lt;p&gt;Now let's create a customer by going to the &lt;a href="https://panier.app/api-documentation#tag/customers/POST/customer/create" rel="noopener noreferrer"&gt;Create Customer&lt;/a&gt; endpoint and using the following payload:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": [
    {
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": ""
    }
  ],
  "overwrite_duplicates": true
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get a similar response to this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "created": [
    {
      "id": "cmaccp0vy0000zmksubook8hd",
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": "",
      "updated_at": "2025-05-06T10:12:30.527Z",
      "created_at": "2025-05-06T10:12:30.527Z"
    }
  ],
  "excluded_duplicates": []
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a ZIMRA Fiscal Invoice
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; has a smart automated &lt;strong&gt;ZIMRA Open day&lt;/strong&gt; and &lt;strong&gt;Close day&lt;/strong&gt; feature, so it will first check if the fiscal day is opened or not, if not it automatically open it before it creates a Fiscal Invoice. In addition, if the fiscal day has been opened for close to 24 hours, it will automatically close the fiscal day for you. However if you wish to manually open or close the fiscal day you can use the &lt;a href="https://panier.app/api-documentation#tag/zimra-fiscalisation/GET/zimra/open-day" rel="noopener noreferrer"&gt;ZIMRA Open Day&lt;/a&gt; and &lt;a href="https://panier.app/api-documentation#tag/zimra-fiscalisation/GET/zimra/close-day" rel="noopener noreferrer"&gt;ZIMRA Close Day&lt;/a&gt; endpoints on the &lt;a href="https://panier.app/api-documentation" rel="noopener noreferrer"&gt;Panier API&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now let us create a &lt;strong&gt;Fiscal Invoice&lt;/strong&gt; by going to the &lt;a href="https://panier.app/api-documentation#tag/invoices/POST/invoice/create" rel="noopener noreferrer"&gt;Create Invoice&lt;/a&gt; endpoint and using the following payload:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": [
    {
      "customer_id": "cmaccp0vy0000zmksubook8hd",
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "quantity": 1
        }
      ],
      "date_format": "dd/mm/yy",
      "payment_due": "2025-04-18T15:40:00.546Z",
      "payment_information": "Please make all payments to our CBZ Bank Account XXXXXXXXXXX",
      "terms_n_conditions": "This invoice will be considered invalid when the payment due date has lapsed"
    }
  ],
  "zimra_fiscalize": true
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Et voila, here is our &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt; 💪&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "created": [
    {
      "id": "cmacdp73c0005zmjpdime2h47",
      "number": "WGYM9GMJ639N",
      "date_format": "dd/mm/yy",
      "date_issued": "2025-05-06T10:40:30.102Z",
      "recipients": [],
      "payment_due": "2025-04-18T15:40:00.546Z",
      "currency": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars",
        "exchange_rate": 1
      },
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "name": "Eggs",
          "description": "One dozen large eggs",
          "buying_price": 2.51,
          "sku": "",
          "hs_code": "0808.01.01",
          "is_inventory_item": true,
          "applicable_tax": {
            "id": "cmac8znbu0005zm0gdy8xxoi6",
            "name": "VAT Exempt",
            "percentage": null,
            "code": null,
            "zimra_tax_id": 1
          },
          "_selling_price": 5.81,
          "_quantity": 1,
          "_discount": 0,
          "_total_excluding_tax": 5.81,
          "_tax": 0,
          "_total_including_tax": 5.81
        }
      ],
      "total": 5.81,
      "discount": 0,
      "payment_information": "Please make all payments to our CBZ Bank Account XXXXXXXXXXX",
      "terms_n_conditions": "This invoice will be considered invalid when the payment due date has lapsed",
      "sending_status": "Do not send",
      "template_preference": {
        "template": 1,
        "color": "primary",
        "table_layout": "Plain"
      },
      "is_paid": false,
      "updated_at": "2025-05-06T10:40:38.185Z",
      "created_at": "2025-05-06T10:40:38.185Z",
      "zimra_receipt": {
        "id": "cmacdp72x0004zmjpchd3veni",
        "device_id": 24455,
        "device_serial_number": "HQAUR8QVG29BBY33",
        "receipt_type": "FISCALINVOICE",
        "receipt_currency": "USD",
        "receipt_counter": 1,
        "receipt_global_no": 4,
        "receipt_date": "2025-05-06T12:40:34",
        "receipt_total": 5.81,
        "receipt_taxes": [
          {
            "taxID": 1,
            "taxAmount": 0,
            "salesAmountWithTax": 5.81
          }
        ],
        "previous_receipt_hash": "",
        "result_used_to_hash": "24455FISCALINVOICEUSD72025-05-06T12:40:345810581",
        "receipt_hash": "oDCrjJ5wjYdt+DjjqEJ6Z9zEtjttpb5OYLlYh9Avsic=",
        "signature": "rsMdb9briDnowH7cVyu67heYdZgVzImYQSCz+tLo4LWhS/+lkGQOoPIHUmsnv+y6PAjKR2HMP9hwKesViGQRf3xeqryzwM2+Yb6QtRh9ZfwRvj7qbM99pbd+111CStGimwrXuWRYhBRJpKbaSi0awD2rlOq4ZIAdM2tHVXb8Zvw+Xc6bZk8KmmY6Wa+RlzpGCP9m2rc3bep+sT5FHLf5CzOkCUtpNvJJBcjEowGSuU6nbe8peRMxX7gVifup7+pwmYnh6oShK4oyIlWvbzYVtdI9H50hlzomTy7EOs9eLoZH1iEXumHejCuI09mGqPjaLTTzpgX7CdVjvNwkJdf04w==",
        "qr_code_url": "https://fdmstest.zimra.co.zw/000002445506052025000000000724F42D4F3579D932",
        "verification_code": "24F4-2D4F-3579-D932",
        "receipt_data": {
          "receipt": {
            "receiptType": "FiscalInvoice",
            "receiptCurrency": "USD",
            "receiptCounter": 1,
            "receiptGlobalNo": 4,
            "receiptDate": "2025-05-06T12:40:34",
            "receiptLinesTaxInclusive": false,
            "receiptLines": [
              {
                "receiptLineType": "Sale",
                "receiptLineNo": 1,
                "receiptLineHSCode": "08080101",
                "receiptLineName": "Eggs",
                "receiptLinePrice": 5.81,
                "receiptLineQuantity": 1,
                "receiptLineTotal": 5.81,
                "taxID": 1
              }
            ],
            "receiptTaxes": [
              {
                "taxID": 1,
                "taxAmount": 0,
                "salesAmountWithTax": 5.81
              }
            ],
            "receiptPayments": [
              {
                "moneyTypeCode": "Cash",
                "paymentAmount": 5.81
              }
            ],
            "receiptTotal": 5.81,
            "receiptPrintForm": "InvoiceA4",
            "receiptDeviceSignature": {
              "hash": "oDCrjJ5wjYdt+DjjqEJ6Z9zEtjttpb5OYLlYh9Avsic=",
              "signature": "rsMdb9briDnowH7cVyu67heYdZgVzImYQSCz+tLo4LWhS/+lkGQOoPIHUmsnv+y6PAjKR2HMP9hwKesViGQRf3xeqryzwM2+Yb6QtRh9ZfwRvj7qbM99pbd+111CStGimwrXuWRYhBRJpKbaSi0awD2rlOq4ZIAdM2tHVXb8Zvw+Xc6bZk8KmmY6Wa+RlzpGCP9m2rc3bep+sT5FHLf5CzOkCUtpNvJJBcjEowGSuU6nbe8peRMxX7gVifup7+pwmYnh6oShK4oyIlWvbzYVtdI9H50hlzomTy7EOs9eLoZH1iEXumHejCuI09mGqPjaLTTzpgX7CdVjvNwkJdf04w=="
            },
            "invoiceNo": "WGYM9GMJ639N"
          }
        },
        "server_response": {
          "receiptID": 5856878,
          "serverDate": "2025-05-06T12:40:37",
          "receiptServerSignature": {
            "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
            "hash": "n40uljhSBpFdAJ2RTDkh1QQ2hpoEQ/vN+pxVjLQQdTk=",
            "signature": "DHzjt+sNDnS86CTY7iCl0IapitZEmpFoNTaY1h/UfXsi95KXLyEHh3Aqu/v40Y5bld8OrCBRph7+Ro91ADe3iJcP1Hn6MeOKDPw9NWqWoSayBlMX/HAfjzKMgV/88W/CGFBGLrAoAU4XsOo2MNOODqtXMHHa0RpaCjgjoPW8gZT5GywQWhkQMwXVF+eNUpb+9uwUL+ZAxwQhXbjm+Wp3K2SEg3dMPmRZuSiYeIWoCmRmrxCj8DRe/UOo6/+kHWRclk4ej90q8kgq6dhxG6R8Y4R0jwB5D/KvB1Qn2RFzLprgW6qS86fuC0l4QDpQsvCpqfQz3mCUwAdf6tdZbb9iKQ=="
          },
          "validationErrors": [],
          "operationID": "0HNBSPOBISK2Q:00000001"
        },
        "validation_errors": [],
        "fiscal_day_no": 2,
        "updated_at": "2025-05-06T10:40:38.185Z",
        "created_at": "2025-05-06T10:40:38.170Z"
      },
      "customer": {
        "id": "cmaccp0vy0000zmksubook8hd",
        "name": "Corner Bakery",
        "contact_person": "John Smith",
        "phone": "0772000001",
        "email": "john@cornerbakery.com",
        "address": "123 Road Drive, City, Country",
        "fax": "02888881",
        "website": "https://example.com",
        "tax_reg_number": "",
        "company_reg_number": "",
        "tin_number": "",
        "vat_number": ""
      }
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a Credit Note
&lt;/h2&gt;

&lt;p&gt;Now the we have created a &lt;strong&gt;ZIMRA Fiscal Invoice&lt;/strong&gt; let now create a credit note. We do this by going to the &lt;a href="https://panier.app/api-documentation#tag/credit-notes/POST/credit-note/create" rel="noopener noreferrer"&gt;Create Credit Note&lt;/a&gt; endpoint and use this payload (Pay close attention to the &lt;code&gt;invoice_id&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": [
    {
      "invoice_id": "cmacdp73c0005zmjpdime2h47",
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "quantity": 1
        }
      ]
    }
  ],
  "zimra_fiscalize": true
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get the following response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "created": {
    "id": "cmace14zn0000zmktr4vcujs4",
    "number": "KXI20Y8G4TRV",
    "invoice_id": "cmacdp73c0005zmjpdime2h47",
    "created_by": null,
    "recipients": [],
    "currency": {
      "symbol": "$",
      "name": "US Dollar",
      "symbol_native": "$",
      "decimal_digits": 2,
      "rounding": 0,
      "code": "USD",
      "name_plural": "US dollars",
      "exchange_rate": 1
    },
    "products": [
      {
        "id": "cma5e7aca0000zm1x9aiabiil",
        "name": "Eggs",
        "description": "One dozen large eggs",
        "buying_price": 2.51,
        "sku": "",
        "hs_code": "0808.01.01",
        "is_inventory_item": true,
        "applicable_tax": {
          "id": "cmac8znbu0005zm0gdy8xxoi6",
          "name": "VAT Exempt",
          "percentage": null,
          "code": null,
          "zimra_tax_id": 1
        },
        "_selling_price": 5.81,
        "_credited_quantity": 1,
        "_total_excluding_tax": 5.81,
        "_tax": 0,
        "_total_including_tax": 5.81
      }
    ],
    "total": 5.81,
    "template_preference": {
      "template": 1,
      "color": "primary",
      "table_layout": "Plain"
    },
    "created_at": "2025-05-06T10:49:55.329Z",
    "zimra_receipt": {
      "id": "cmace7eng0000zmmu6uj06lxy",
      "device_id": 24455,
      "device_serial_number": "HQAUR8QVG29BBY33",
      "receipt_type": "CREDITNOTE",
      "receipt_currency": "USD",
      "receipt_counter": 2,
      "receipt_global_no": 5,
      "receipt_date": "2025-05-06T12:54:46",
      "receipt_total": -5.81,
      "receipt_taxes": [
        {
          "taxID": 1,
          "taxAmount": 0,
          "salesAmountWithTax": -5.81
        }
      ],
      "previous_receipt_hash": "oDCrjJ5wjYdt+DjjqEJ6Z9zEtjttpb5OYLlYh9Avsic=",
      "result_used_to_hash": "24455CREDITNOTEUSD82025-05-06T12:54:46-5810-581oDCrjJ5wjYdt+DjjqEJ6Z9zEtjttpb5OYLlYh9Avsic=",
      "receipt_hash": "F7ZV6q3zDkgKK2/d2970TkxtrwyyQwg9AUXeu6b1Pr8=",
      "signature": "f1GUv50l0ttvlunQ++qcRvHYOpKIaasEQxTC5UZRNVq3xdwB5lKkbdffn4NB6/9rwMvVHKJSQ2MhaSJ8U43JiU23NR1U/4vel0NTjfwsespeuuSStN2L4HEkYoEYrTXVM4xm/5GNhHefCX4q8uimoawZvqfAgSL05QvUS6gA2nDP/QUp78KUkOzz52yjAmc5rXHFvbLOLYsvqNgnuQibOaUlfTDfkF3Ywq1cYHawcp3vVgxFC+xR1zEXAvDK2cE/Bnsm8p8GVvmYZEQD/wuTgKvLznm/rDEZBSAwcTsTGHTF6+QMKah42vsZpbk2S4FoDDN9p73ZvsHec5kBdcu96g==",
      "qr_code_url": "https://fdmstest.zimra.co.zw/000002445506052025000000000862174C46EF1A3EB0",
      "verification_code": "6217-4C46-EF1A-3EB0",
      "receipt_data": {
        "receipt": {
          "receiptType": "CreditNote",
          "receiptCurrency": "USD",
          "receiptCounter": 2,
          "receiptGlobalNo": 5,
          "receiptDate": "2025-05-06T12:54:46",
          "receiptLinesTaxInclusive": false,
          "receiptLines": [
            {
              "receiptLineType": "Sale",
              "receiptLineNo": 1,
              "receiptLineHSCode": "08080101",
              "receiptLineName": "Eggs",
              "receiptLinePrice": -5.81,
              "receiptLineQuantity": 1,
              "receiptLineTotal": -5.81,
              "taxID": 1
            }
          ],
          "receiptTaxes": [
            {
              "taxID": 1,
              "taxAmount": 0,
              "salesAmountWithTax": -5.81
            }
          ],
          "receiptPayments": [
            {
              "moneyTypeCode": "Cash",
              "paymentAmount": -5.81
            }
          ],
          "receiptTotal": -5.81,
          "receiptPrintForm": "InvoiceA4",
          "receiptDeviceSignature": {
            "hash": "F7ZV6q3zDkgKK2/d2970TkxtrwyyQwg9AUXeu6b1Pr8=",
            "signature": "f1GUv50l0ttvlunQ++qcRvHYOpKIaasEQxTC5UZRNVq3xdwB5lKkbdffn4NB6/9rwMvVHKJSQ2MhaSJ8U43JiU23NR1U/4vel0NTjfwsespeuuSStN2L4HEkYoEYrTXVM4xm/5GNhHefCX4q8uimoawZvqfAgSL05QvUS6gA2nDP/QUp78KUkOzz52yjAmc5rXHFvbLOLYsvqNgnuQibOaUlfTDfkF3Ywq1cYHawcp3vVgxFC+xR1zEXAvDK2cE/Bnsm8p8GVvmYZEQD/wuTgKvLznm/rDEZBSAwcTsTGHTF6+QMKah42vsZpbk2S4FoDDN9p73ZvsHec5kBdcu96g=="
          },
          "invoiceNo": "MMKAJ3ZXM8LJ",
          "creditDebitNote": {
            "receiptID": 5856878,
            "deviceID": 24455,
            "receiptGlobalNo": 5,
            "fiscalDayNo": 2
          },
          "receiptNotes": "This is a Credit Note for Fiscal Invoice No. MMKAJ3ZXM8LJ"
        }
      },
      "server_response": {
        "receiptID": 5856906,
        "serverDate": "2025-05-06T12:54:47",
        "receiptServerSignature": {
          "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
          "hash": "PLOzmw3mkeODBlAd3GR8gUHMZmcfRTvz73ON5jZTpp4=",
          "signature": "YsI0+mo0mjSbZfVkiGkCJ2SDjXbiIqdSDk3+sYgxjshMledi3BZWiEk8SSm4d3iyH3cHoEP3gJIv39obh7x2SrGztWNHbFbCNQ34k46DI3niGBiuxyXkn9MhYJAWvY5UcMqBrOKIcLQ5x8LL/DjTJbmPAS5ts4cDuLRFjn7SvkEISzJ638GFCWhe2TyKfniS12JS3jYW8NpHojt4U5bgHrgaXhhp09NV+7Gvi9GISVFyMfLo6h43MDdQdnSx9SpzoUDjUfnXpYi7hs8VNkYrJbh+R4fnRYjh6syr3wl5GF8Qz/GbTHCzgPeTI6J3flUgZ7qK5sQxooHsUumrCFtGwg=="
        },
        "validationErrors": [],
        "operationID": "0HNBSPOBISO8M:00000001"
      },
      "validation_errors": [],
      "fiscal_day_no": 2,
      "updated_at": "2025-05-06T10:54:47.801Z",
      "created_at": "2025-05-06T10:54:47.788Z"
    },
    "customer": {
      "id": "cmaccp0vy0000zmksubook8hd",
      "name": "Corner Bakery",
      "contact_person": "John Smith",
      "phone": "0772000001",
      "email": "john@cornerbakery.com",
      "address": "123 Road Drive, City, Country",
      "fax": "02888881",
      "website": "https://example.com",
      "tax_reg_number": "",
      "company_reg_number": "",
      "tin_number": "",
      "vat_number": ""
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Create a Debit Note
&lt;/h2&gt;

&lt;p&gt;To create a debit note we need to go to the &lt;a href="https://panier.app/api-documentation#tag/debit-notes/POST/debit-note/create" rel="noopener noreferrer"&gt;Create Debit Note&lt;/a&gt; endpoint and use this payload:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "data": [
    {
      "invoice_id": "cmacdp73c0005zmjpdime2h47",
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "quantity": 1
        }
      ]
    }
  ],
  "zimra_fiscalize": true
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should get the following response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "created": [
    {
      "id": "cmacels1a0001zmly40q7xwxn",
      "number": "VFPS372JJPWL",
      "invoice_id": "cmacdp73c0005zmjpdime2h47",
      "recipients": [],
      "currency": {
        "symbol": "$",
        "name": "US Dollar",
        "symbol_native": "$",
        "decimal_digits": 2,
        "rounding": 0,
        "code": "USD",
        "name_plural": "US dollars",
        "exchange_rate": 1
      },
      "products": [
        {
          "id": "cma5e7aca0000zm1x9aiabiil",
          "name": "Eggs",
          "description": "One dozen large eggs",
          "buying_price": 2.51,
          "sku": "",
          "hs_code": "0808.01.01",
          "is_inventory_item": true,
          "applicable_tax": {
            "id": "cmac8znbu0005zm0gdy8xxoi6",
            "name": "VAT Exempt",
            "percentage": null,
            "code": null,
            "zimra_tax_id": 1
          },
          "_selling_price": 5.81,
          "_debited_quantity": 1,
          "_total_excluding_tax": 5.81,
          "_tax": 0,
          "_total_including_tax": 5.81
        }
      ],
      "total": 5.81,
      "template_preference": {
        "template": 7,
        "color": "primary",
        "table_layout": "Plain"
      },
      "created_at": "2025-05-06T11:05:58.319Z",
      "zimra_receipt": {
        "id": "cmacels0s0000zmly29jdl0sb",
        "device_id": 24455,
        "device_serial_number": "HQAUR8QVG29BBY33",
        "receipt_type": "DEBITNOTE",
        "receipt_currency": "USD",
        "receipt_counter": 3,
        "receipt_global_no": 9,
        "receipt_date": "2025-05-06T13:05:57",
        "receipt_total": 5.81,
        "receipt_taxes": [
          {
            "taxID": 1,
            "taxAmount": 0,
            "salesAmountWithTax": 5.81
          }
        ],
        "previous_receipt_hash": "F7ZV6q3zDkgKK2/d2970TkxtrwyyQwg9AUXeu6b1Pr8=",
        "result_used_to_hash": "24455DEBITNOTEUSD92025-05-06T13:05:575810581F7ZV6q3zDkgKK2/d2970TkxtrwyyQwg9AUXeu6b1Pr8=",
        "receipt_hash": "IOAf+DHOzM7J0aXRdkz30YGImwmBBARWFbQhPJKZ/UY=",
        "signature": "NKR4qaZcvwB9D0so9zglc905UdWHR3yPbqWs5UYHNiwb0xKkVyoutMqT1vfx5DLzYl67BmegX7TQfoMz7p8b//x5abDRCP6+hcOuDQbHV6UMgPhMWlcMpLpNTgPhIH8/vOCIWy80IMw9Ae20DbejQ+ARhc2bFGFiwVxG7DFnBD7HUFxqcLlLkbnhMYWipOG/cf8TYjz6nEGWRpbGNyIuqs+ksOMye2jGIL3qezpAuf6MdXtbqiEhff1moEin79TpPWRvUO8ThL/yw2YqO6x6r0NahlycpY6xzVBGa7eXrI3tKWAh56HyjP2AY0pygVrFjqXsVinY3wArZViZKalc/g==",
        "qr_code_url": "https://fdmstest.zimra.co.zw/000002445506052025000000000954386E38A698E4DB",
        "verification_code": "5438-6E38-A698-E4DB",
        "receipt_data": {
          "receipt": {
            "receiptType": "DebitNote",
            "receiptCurrency": "USD",
            "receiptCounter": 3,
            "receiptGlobalNo": 9,
            "receiptDate": "2025-05-06T13:05:57",
            "receiptLinesTaxInclusive": false,
            "receiptLines": [
              {
                "receiptLineType": "Sale",
                "receiptLineNo": 1,
                "receiptLineHSCode": "08080101",
                "receiptLineName": "Eggs",
                "receiptLinePrice": 5.81,
                "receiptLineQuantity": 1,
                "receiptLineTotal": 5.81,
                "taxID": 1
              }
            ],
            "receiptTaxes": [
              {
                "taxID": 1,
                "taxAmount": 0,
                "salesAmountWithTax": 5.81
              }
            ],
            "receiptPayments": [
              {
                "moneyTypeCode": "Cash",
                "paymentAmount": 5.81
              }
            ],
            "receiptTotal": 5.81,
            "receiptPrintForm": "InvoiceA4",
            "receiptDeviceSignature": {
              "hash": "IOAf+DHOzM7J0aXRdkz30YGImwmBBARWFbQhPJKZ/UY=",
              "signature": "NKR4qaZcvwB9D0so9zglc905UdWHR3yPbqWs5UYHNiwb0xKkVyoutMqT1vfx5DLzYl67BmegX7TQfoMz7p8b//x5abDRCP6+hcOuDQbHV6UMgPhMWlcMpLpNTgPhIH8/vOCIWy80IMw9Ae20DbejQ+ARhc2bFGFiwVxG7DFnBD7HUFxqcLlLkbnhMYWipOG/cf8TYjz6nEGWRpbGNyIuqs+ksOMye2jGIL3qezpAuf6MdXtbqiEhff1moEin79TpPWRvUO8ThL/yw2YqO6x6r0NahlycpY6xzVBGa7eXrI3tKWAh56HyjP2AY0pygVrFjqXsVinY3wArZViZKalc/g=="
            },
            "invoiceNo": "VFPS372JJPWL",
            "creditDebitNote": {
              "receiptID": 5856878,
              "deviceID": 24455,
              "receiptGlobalNo": 8,
              "fiscalDayNo": 2
            },
            "receiptNotes": "This is a Debit Note for Fiscal Invoice No. VFPS372JJPWL"
          }
        },
        "server_response": {
          "receiptID": 5856938,
          "serverDate": "2025-05-06T13:05:58",
          "receiptServerSignature": {
            "certificateThumbprint": "F9B295CA65BA22B94F6D4B27E48D08BF6CD7F7C8",
            "hash": "3gHhVyHCPRBILq7JwGZd5rXFA8VQUunQBdqUvMxmZFA=",
            "signature": "cFCHQvgcVcTxamUTqING1q7MJgnqZdf4WbtRagCSB2ISG7Ezv3Gnd6hDb7RdzL+C5/6uAZgNjf+XnwStde4zZzlZ9PBvRyvPhCQp3qb84FriSGpn+LQanrh9KLuQybDwPDIlWj42GXEv+PN0IqVKZnEUkNkWJiVMeIV8pZd/SnLgyhd8FR5uXt0RT9ofE7HdfYdNPk9jpXRp+KNSgu1riEREneTuwyGEW1wokE8H6waiA0i63HEZ5Qkab+v5uB/gBt1WmNHZvSu0a6b8lWKysWNWNLPXMo/Jco61QKnoxwRTFSPL0ZTJvfq7HvqPmRKguYuWki3K0Cvdl0f2mLs+KQ=="
          },
          "validationErrors": [],
          "operationID": "0HNBSPOBISSDG:00000001"
        },
        "validation_errors": [],
        "fiscal_day_no": 2,
        "updated_at": "2025-05-06T11:05:58.319Z",
        "created_at": "2025-05-06T11:05:58.300Z"
      },
      "customer": {
        "id": "cmaccp0vy0000zmksubook8hd",
        "name": "Corner Bakery",
        "contact_person": "John Smith",
        "phone": "0772000001",
        "email": "john@cornerbakery.com",
        "address": "123 Road Drive, City, Country",
        "fax": "02888881",
        "website": "https://example.com",
        "tax_reg_number": "",
        "company_reg_number": "",
        "tin_number": "",
        "vat_number": ""
      }
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Fiscalizing an existing Invoice, Credit Note or Debit Note
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://panier.app" rel="noopener noreferrer"&gt;Panier&lt;/a&gt; allows you to create an invoice, credit note or debit note then fiscalize it later. This can be done by using the &lt;a href="https://panier.app/api-documentation#tag/zimra-fiscalisation/POST/zimra/fiscalize" rel="noopener noreferrer"&gt;Fiscalize&lt;/a&gt; endpoint.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Remarks
&lt;/h2&gt;

&lt;p&gt;This API is based on the official &lt;a href="https://www.zimra.co.zw/downloads/category/9-domestic-taxes?download=3807:fiscalisation-api-documentation" rel="noopener noreferrer"&gt;ZIMRA Fiscal Device Gateway API Specs v7.2&lt;/a&gt; and so we recommend that you get acquainted with it in order to get the most out of this API.&lt;/p&gt;

&lt;p&gt;If you have any questions. Feel free to ask us in the comments sections of this article or email us directly on &lt;a href="mailto:support@panier.app"&gt;support@panier.app&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>zimra</category>
      <category>fiscalisation</category>
      <category>api</category>
      <category>documentation</category>
    </item>
    <item>
      <title>Vue 3: Extending entire CSS/SCSS files to the children of a scoped parent component using :deep()</title>
      <dc:creator>Anthony Jekanyika</dc:creator>
      <pubDate>Sat, 18 May 2024 10:32:27 +0000</pubDate>
      <link>https://dev.to/jeky1950/vue-3-extending-entire-cssscss-files-to-the-children-of-a-scoped-parent-component-using-deep-3dgo</link>
      <guid>https://dev.to/jeky1950/vue-3-extending-entire-cssscss-files-to-the-children-of-a-scoped-parent-component-using-deep-3dgo</guid>
      <description>&lt;p&gt;Lets say for some reason you have now come to the realisation that you know have to isolate the CSS in a specific component from rest of the your project. Then, like the great Vue developer that you are you confidently scroll to your component's opening style tag and add the &lt;code&gt;scoped&lt;/code&gt; attribute then call it a day. You check the project to confirm that your fix worked but you forgot that your component has its own child components which no longer inherit the CSS from the parent component because its now &lt;code&gt;scoped&lt;/code&gt;. How do we fix this?&lt;/p&gt;

&lt;p&gt;Enter the &lt;code&gt;:deep()&lt;/code&gt; pseudo-class&lt;/p&gt;

&lt;p&gt;The deep selector allows us to share CSS classes between a scoped parent and its child components. Today I am going to show you how to do it with entire CSS/SCSS files.&lt;/p&gt;

&lt;p&gt;First install SASS into your project with the following code in your terminal &lt;code&gt;npm i -D sass sass-loader&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Here is an example of how a parent component will extend its imported CSS files to its child components:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;template&amp;gt;
   &amp;lt;Child-1 /&amp;gt;
   &amp;lt;Child-2 /&amp;gt;
   &amp;lt;Child-2 /&amp;gt;
&amp;lt;/template&amp;gt;

&amp;lt;style lang="scss" scoped&amp;gt;
  :deep() {
    @import "./css/style-1";
    @import "./css/style-2";
  }
&amp;lt;/style&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important Note. Remember in SASS when importing a CSS/SCSS file you don't add the &lt;code&gt;.css&lt;/code&gt;, &lt;code&gt;.scss&lt;/code&gt; or &lt;code&gt;.sass&lt;/code&gt; extension.&lt;/p&gt;

</description>
      <category>vue</category>
      <category>javascript</category>
      <category>css</category>
      <category>nuxt</category>
    </item>
    <item>
      <title>Using performance.now() instead of Date.now() to prevent timestamp collisions</title>
      <dc:creator>Anthony Jekanyika</dc:creator>
      <pubDate>Fri, 11 Aug 2023 09:45:54 +0000</pubDate>
      <link>https://dev.to/jeky1950/using-performancenow-instead-of-datenow-to-prevent-timestamp-collisions-2819</link>
      <guid>https://dev.to/jeky1950/using-performancenow-instead-of-datenow-to-prevent-timestamp-collisions-2819</guid>
      <description>&lt;p&gt;Say you have an array of data entries and you need to attach a unique identifier to each entry. The popular approach would be use Date.now() as a unique identifier. The problem with this approach is that there is a chance of two or more entries having the same identifier. This is because the timestamps returned by Date.now() have a resolution of one-millisecond. Thus it is highly probably that you could have collisions between the unique identifiers of the data entries. Let us consider the following example that loops 5 times, printing out a Date.now() timestamp every loop. Let's open up our command prompt and let's run the following code in node (to enter node just type the word node in your command prompt assuming that you already have it in your environment).&lt;/p&gt;

&lt;p&gt;CODE:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for (let index = 0; index &amp;lt; 5; index++) {
    console.log(Date.now())
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;OUTPUT:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1691741535783
1691741535784
1691741535785 &amp;lt; Identical
1691741535785 &amp;lt; Identical
1691741535785 &amp;lt; Identical
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see in the output that the last three outputs were the same, so if you where using these as unique identifiers you would have collisions. &lt;/p&gt;

&lt;p&gt;Enter performance.now()&lt;/p&gt;

&lt;p&gt;Unlike Date.now() the timestamps returned by performance.now() represent floating point numbers with a resolution of up to 5 microsecond rather than the one-millisecond resolution of Date.now() timestamps. Also performance.now() timestamps always increase at a constant rate being independent of the system clock which can be manually adjusted or susceptible to change by software such as the Network Time Protocol. Lets see the same example that we did above but this time with performance.now().&lt;/p&gt;

&lt;p&gt;CODE:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for (let index = 0; index &amp;lt; 5; index++) {
    console.log(performance.now())
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;OUTPUT:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;7908.96749997139
7910.144699931145
7910.284399986267
7910.412899971008
7910.533899903297
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's test performance.now() further by logging two timestamps at the same time.&lt;/p&gt;

&lt;p&gt;CODE:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(`${ performance.now() } ${ performance.now() }`)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;OUTPUT:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;773756.6698999405 773756.6811999083
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you can see that even when you log it at the same time the timestamps are different thus there is no chance of collisions occurring. I highly recommend that you take a look at the MDN docs for performance.now() if you want to read more about it (&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now"&gt;https://developer.mozilla.org/en-US/docs/Web/API/Performance/now&lt;/a&gt;).&lt;/p&gt;

</description>
      <category>timestamps</category>
      <category>performance</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
