How to Manage Address in the e-Invoice for the Multiple Branch Company

I have already published blog about how e-Invoice in India was introduced in SAP Business One, see As you see block 4 with your company data have address defined in the Company Details. However, it can be a case that Branch address should be used in case the multiple branches are enabled in your database. There can be different other cases where the Address 1 in e-Invoices should be taken from the other database tables neither from the Company Details. In this article I want to describe how you can easy update this information for yourselves according to your business needs.

You need to add the address information to the data source that is used by Electronic File Management Add On when create the JSON file. The data source can be added using User Query Category in the E-Billing Protocol.

So, let’s take you need to report your branch address. This information is stored in the OBPL. Address. And this information is needed to be added to the data source. The easiest way it to define query like:


And save it under new query category. Please, do not forget to define groups to your category, so Business One will be able to generate data. This query category you need define now in the Document Settings:

Now you can generate EFM XML data source for the A/R Invoice to see how new data get to the data source. I would recommend to use data source that is created by B1 when you generate the e-Bill in application (please, generate the e-Bill in your demo database). You can find it in %temp% folder as DataSourceDOC-E-Billing.xml. If you open the file you will see new table with new table is added:

The next step is to update data source and mapping in EFM for your file. I will use system file for that. Download file from Electronic File Manager – Setup window (pay attention to the Format Type):

and open that in EFM (please, follow common recommendations like saving, naming, etc. when you work in EFM). Update the Source with generated DataSourceDOC-E-Billing.xml:

EFM will transfer mapping from previous source to the new one, or ‘upgrade’ in EFM language, 😊. You will receive upgrade report after transfer ends:

After you check that all nodes in Target keep mapping and there is not any mapping with the old source:

You can delete the previous source.

Now you can update the node Address 1 to be mapped with branch address: you can simply drag the Address from Branch_Address table in Source to Addr1 under SellerDtls in the Target:

and save the file.

Now you can upload the saved file to your SAP Business One in the Electronic File Manager – Setup, set as default in the E-Billing protocol:

and enjoy working with SAP Business One and e-Bill generation.

You can also use the other way for Address node in the file like described in the

I would like to invite you to provide feedback or ask clarifying questions regarding the topic in the comments section. It is also possible to submit the improvement requests for this feature (and others as well!) on the Customer Influence site: