En: Application which checks automatically VAT split status of 5000 Romanian companies.
Ro: Aplicatie care verifica automat 5000 de furnizorii care aplica plata defalcata TVA.
This post is for Romania only. The post refers to “Legea 275/2017, OG 23/2017 plata defalcata TVA”.
ANAF has published short instructions on how to find the VAT split status of a company here.
I have provided on stackoverflow a complete working program code in Python for a single request here.
Maybe later I will extend the code for CSV upload and saving…
I am back with code and instructions for querying VAT split status using a list in CSV format.
The easy way for beginners to run the Python code is to install Anaconda (next, next, finish) and run Jupyter notebook (ipynb extension). Anaconda is an absolutely FREE open-source distribution of Python which works on Windows, macOs, and Linux. Jupyter notebook runs directly in your preferred Chrome, Firefox, Microsoft Edge, or other browsers.
You can find VAT split status readme instructions here, tutorial here pdf and complete code here ipynb. Further, you can easily figure out that you can add other fields in which ANAF webservice returns to perform also other checks.
However, If you need all fields which ANAF webservice returns, run this code here ipynb.
You can also execute a quick test for a single request without installing anything using mybinder here. Wait for Starting repository, then from menu open Kernel / Restart & Run All.
Running a list of 5000 to 10000 companies will take about one hour depending on the server load. Further, if you want to improve performance you may adapt the code to include in a request maximum of 500 elements at once instead of a single element(company).
SAP central note 2538317 “VAT split payment mechanism in Romania” does not provide a report to check and generate vendors’ VAT split status and VAT IBAN account. To solve this issue you can create an ABAP report which extracts data from the following tables: Vendor master data(LFA1, LFB1, LFBK, TIBAN), Vendor Open Items(BSIK), Purchasing Contracts and Purchasing Orders (EKKO, EKPO, EKET).
You may insist on the integration of the entire process of checking and updating vendor master data with the help of SAP RFC. Python supports SAP RFC and fortunately, you can start with studying the following blog here.