Burundi Compliance

The Burundi Compliance app seamlessly integrates EBMS(Système de facturation électronique) tax functionalities into ERPNext, empowering users to efficiently manage tax compliance tasks.

Install Burundi Compliance

bench get-app https://github.com/navariltd/burundi-compliance

Tags

  • burundi-obr-tax-compliance
  • e-invoicing

Add the Frappe Gems badge to your README

Maintain Burundi Compliance? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=navariltd%2Fburundi-compliance)](https://frappegems.com/gems/apps/navariltd/burundi-compliance)

About Burundi Compliance

#
Burundi Compliance
##
EBMS(Système de facturation électronique) Integration for ERPNext
### Overview The Burundi Compliance app seamlessly integrates EBMS(Système de facturation électronique) tax functionalities into ERPNext, empowering users to efficiently manage tax compliance tasks. Developed on the robust Frappe Framework and ERPNext platform, it streamlines repetitive tasks and simplifies the tax compliance process for businesses. ### Summary of Main Features: 1. **Sales Invoice Tax Tracking:** - Seamlessly send sales invoices to OBR(Office Burundais des Recettes) for meticulous tax tracking, ensuring adherence to regulatory standards and facilitating transparent financial reporting. 2. **Stock Movement Monitoring:** - Track stock movements for inventory and sales transactions within ERPNext, enabling comprehensive oversight and compliance with tax regulations governing inventory management. 3. **Supplier Registration Verification:** - Automatically verify supplier registration status, ensuring that only registered members are engaged in business transactions, thereby mitigating risks associated with non-compliant suppliers. 4. **Real-Time Customer TIN Verification:** - Verify Tax Identification Numbers (TINs) of registered customers in real-time, validating their authenticity and promoting compliance with tax regulations. 5. **Automated Compliance Checks:** - Implement automated compliance checks to enforce adherence to tax regulations at every stage of business operations, reducing the risk of non-compliance and associated penalties. ### Architecture Overview Streamlined Integration: ERPNext Communicating with OBR Server and Database ![Screenshot from 2024-04-04 15-13-22](https://github.com/navariltd/burundi-compliance/assets/60258622/8f58d333-a70a-4678-b5dd-31c898e7d8f9) ### Specifications - English Version: [SPECIFICATIONS D'INTERFACAGE EBMS - Eng.docx](https://github.com/navariltd/burundi_compliance/files/14740821/SPECIFICATIONS.D.INTERFACAGE.EBMS.-.Eng.docx) - French Version: [SPECIFICATIONS D'INTERFACAGE EBMS - ACCUSE RECEPTION.docx](https://github.com/navariltd/burundi-compliance/files/14821851/SPECIFICATIONS.D.INTERFACAGE.EBMS.-.ACCUSE.RECEPTION.docx) ## Key Features 1.[Setup](#setup) 2.[Stock Movement](#Stock_Movement) 3.[Selling](#Selling) ### 1. Setup Once the user logs into the system, among the modules, there is Burundi Compliance. It has a workspace with three shortcuts to various custom doctypes. #### Doctypes 1. [eBMS Settings](#ebms_setting) 2. [eBMS eBMS API Methods](#ebms_api_methods) 3. [eBMS Endpoint URLs](#ebms_endpoint_url) 4. [Item](#item) #### i. eBMS Settings ![re-re-Ebms](https://github.com/navariltd/burundi-compliance/assets/60258622/f36e3afc-2443-4a2c-a733-2a2bf81634aa) ##### Details Tab The first interface has fields for *username, password, and company*. - Fill in the username and password provided by [OBR](https://obr.bi/index.php/systeme-de-facturation-electronique-ebms) upon application. - The company field will be automatically filled if you have a single company. Otherwise, select the corresponding company. - By default, the details are for production. For testing, tick the **sandbox** checkbox. ##### Tax Tab ![Screenshot from 2024-03-25 10-19-16](https://github.com/navariltd/burundi-compliance/assets/60258622/11ce1aef-9130-42a7-a116-beeeba9252ca) This tab contains details related to your organization's taxes. These details are mandatory when sending Invoices. -*Taxpayer's Sector of Activity* - This is the company domain -*Taxpayer's Legal Form* - -*The taxpayer's commercial register number*-This is the company's trade number -*Subject to VAT* - -*System Identification*- taxpayer system number(computer serial no.) -*Type of Taxpayer* - -*Subject to Consumption Tax* -*Subject to FlatRate Withholding Tax* - ##### More Info Tab ![Screenshot from 2024-04-01 12-02-00](https://github.com/navariltd/burundi-compliance/assets/60258622/a8399448-aa48-4422-80f1-d81036eed69a) This tab has frequency schedular fields: 1. Maximum Attempts: Enter the number of retries you want the system to attempt when the OBR server is down. 2. Retry Delay: This is the interval between retries. Enter the duration in seconds. 3. **Invoice Event Frequency**: This option controls how often the system automatically sends invoices to OBR(Office Burundais des Recettes). Choose the frequency that best matches how often you want your invoices to be sent. Consider factors like your sales volume and when you prefer to submit invoices to OBR. 4. **Stock Movement Event Frequency**: This option sets how often the system sends stock movement data to OBR(Office Burundais des Recettes). Choose a frequency that aligns with your needs for updating OBR on stock changes. 5. **Setting a Specific Time for Invoice Sending**: If you want to send invoices at a specific time each day, you can use a feature called Cron. When you select this option, another field will appear where you can enter a special format called Cron. You can use a website like [Crontab Guru](https://crontab.guru/) to help you get the timing right. For example, if you want to send invoices every day at 12:00 pm, you would enter "0 12 * * *" in the Cron format field. 6. **Allow OBR(Office Burundais des Recettes) to track sales**: This setting controls whether the system will send invoices to OBR for tracking purposes. When enabled, invoices will be automatically sent to OBR. When disabled, invoices will not be sent to OBR. 7. **Allow OBR(Office Burundais des Recettes) to track stock movement**: This setting controls whether the system will track stock movement data and send it to OBR. When enabled, stock movement information will be automatically sent to OBR. When disabled, stock movement will not be tracked or sent to OBR. If multi-companies are within one site, make settings for each company, since username and password will be different. But only one company per doctype. #### ii. eBMS API Methods ![re_ebms_methods](https://github.com/navariltd/burundi-compliance/assets/60258622/4a7c7a42-ada0-4125-ba04-04bc576cb5d5) This comes with predefined 6 api methods, Incase of new method you can add it as new ebms api method. This helps in our next doctype #### iii. eBMS Endpoint URLs ![re_sbms_endpoint_urls](https://github.com/navariltd/burundi-compliance/assets/60258622/05ff00c3-762c-495b-9167-fb126e7dd650) 1. **Create Sandbox and related Endpoint URL**: - Choose the environment as sandbox. - Enter the correct server URL provided by [OBR](https://obr.bi/index.php/systeme-de-facturation-electronique-ebms). - In the APIs child table, select methods and enter the corresponding endpoint URL ending with a slash (/). **Save**. 2. **Create Production with related Endpoint URL**: - Once you have the production endpoints and server URL, create the production environment with corresponding URLs. This doctype will only have two transactions: sandbox and production. #### iv. Item ![image (2)](https://github.com/user-attachments/assets/20cf3b08-3adc-45cf-9db0-95ed52f1008a) To ensure accurate tracking by OBR, it's essential to set up the system properly. If an item falls under the classification of goods that OBR monitors, it's important to enable this feature upon creation. This configuration involves ticking the **Allow OBR to track...** checkbox, which can be found in two tabs: - **Inventory**: This option enables OBR to track stock movements for items, recording any incoming or outgoing movements. - **Sales**: By default, this option is already ticked. It permits OBR to monitor any sales involving the item. By activating these checkboxes, you ensure comprehensive tracking of relevant activities by OBR, enhancing overall monitoring and compliance. ## 2. Stock Movement ![re_test_stock_entry](https://github.com/navariltd/burundi-compliance/assets/60258622/bb6794b5-ef84-45b6-9fbb-af99b4788f50) - **E-Tracker** Checkbox and **Re-Submit** Button: - After saving a document involving stock movements, an **E-Tracker** checkbox and a **Re-Submit** button appear. - Upon submission, a confirmation pop-up will appear: >"**Stock movement sent to OBR**" - On reload, the **E-Tracker** checkbox is automatically ticked. - **Stock Ledger Entry**: ![re_stock_ledger](https://github.com/navariltd/burundi-compliance/assets/60258622/5df74623-34d0-4861-add7-f8cdf3040ef6) - Similarly, related **Stock Ledger Entries** have an **E-Tracker** checkbox. - While the request is pending, the **E-Tracker** checkbox is unticked, and the **Re-submit** button appears. - If the maximum attempts are exhausted, an email notifies(doc owner) about the unsuccessful request. Resend by clicking the **Re-submit** button. **Purchase Receipt/Purchase Invoice** ![re_test_purchase_invoice](https://github.com/navariltd/burundi-compliance/assets/60258622/84e30890-bdb6-4385-b0ba-a2807c89d058) When purchasing an item that needs to be tracked, the purchase receipt will automatically send data to OBR upon submission. In cases where a user creates a purchase invoice directly without a purchase receipt, they should tick the *Update Stock* checkbox to enable tracking for the item. - **Handling Many Unsent Transactions**: - If the OBR server is down, two options are available: 1. A scheduler runs every X hours(as set in the stock movement Event Frequency, ebms setting doctype) to send pending stock ledger entries automatically. 2. For transactions like Stock Entry or Stock Reconciliation: - Filter transactions with **E-Tracker** equals "No". - Select pending entries, click the Action group button, and choose **eBIMS Tracker** to send to OBR. - It's recommended to rely on the scheduler for handling unsent transactions. ![re_schedular_job](https://github.com/navariltd/burundi-compliance/assets/60258622/cd70665c-6a5f-4c51-b13d-a70caa23a613) ## 3. Selling This is where OBR want to track all the company revenues. ### Doctypes - [Customer](#customer) - [Delivery Note](#delivery_note) - [Sales Invoice](#sales_invoice) - [POS Invoice](#pos_invoice) #### i. Customer ![re_customer](https://github.com/navariltd/burundi-compliance/assets/60258622/0a281ca9-f2f4-45a5-9738-16a58d1397b1) On the Tax Tab: - Select the appropriate *GST Category* (e.g., select "Registered" if the customer is registered). - Enter the Tax ID/TIN. - Upon saving, the Tax ID is sent to OBR for registration confirmation. - Confirmation message received: > "NIF du contribuable connu." - The "TIN Verified" checkbox is ticked upon successful verification. - If the customer is unregistered (selected Unregistered from GST category), simply save without confirmation. #### ii. Delivery Note ![Screenshot from 2024-03-25 08-08-31](https://github.com/navariltd/burundi-compliance/assets/60258622/21b000c4-99ee-4628-8b35-d938a4e8887f) Upon creation of a delivery note, upon submission, it updates the stock and sends a similar payload to OBR. The document includes an E-Tracker checkbox, which is ticked upon receiving a response. **Updating Stock with Sales Invoice** If a company decides to bypass the

Related Localization apps for Frappe & ERPNext

  • Wiki — Free and Open Source Wiki built on top of Frappe
  • India Compliance — Simple, yet powerful compliance solutions for Indian businesses
  • Nepal Compliance — Open source ERP for Nepal with HR, Payroll & Accounting compliance, based on ERPNext by Frappe Technologies.
  • Erpnextswiss — ERPNext application for Switzerland-specific use cases
  • Erpnext Germany — ERPNext customizations for German companies
  • Ksa Compliance — KSA Compliance App for KSA E-invoice
  • Zatca Erpgulf — Implementation of Zatca Phase-2 E-Invoicing - for FrappeCLoud
  • Kenya Compliance — KRA eTIMS Tax Compliance Integration This app works to integrate ERPNext with KRA's eTIMS via the Online Sales Control Unit (OSCU) to allow for the sharing of information with the revenue authority.via OSCU with ERPNext