In the previous article, we have presented about overall SAP components which have been used for IVAS project. In this article, the front-end module Taxpayer Online Services using SAP Multichannel for Public Sector will be addressed here. We would like to share the challenges of public front-end module serving thousands of Taxpayers daily that we have to deal with.

Introduction about Taxpayer Online Services

Taxpayer online services according to OECD definition are the access points to online taxation public sector services. In general, a Taxpayer Online Services system should provide the following functions to taxpayers:

  • Tax Registration service: It provides the first-time registration as well as update taxpayers’ profile services to taxpayers. They can easily submit new registration data to Tax Offices to receive Tax Identification Number Certificate. Based on submitted registration profile, their tax obligations will be identified and dunning accordingly. In addition, if an enterprise open a new branch or a household expand their business areas they can easily adjust their profiles conveniently before sending updated version to Tax Offices.
  • Tax Return service: In the old day taxpayers have to consume a lot of time to fill in the tax declaration forms as well as providing a ton of invoices, contracts, attached document in paper form. It takes more times of taxpayer when they have to amend of tax returns. The Tax Return service helps to reduce drastically time needed to do this task replacing paper forms by electronic versions.
  • Taxpayer’s Account Balance: This function helps taxpayers to identifies their financial liabilities as well as their credit which can be used for refund or carry forward request. They also know exactly the fine amount imposed on late payment amounts or any wrong-doing detected by tax office in the audit process.
  • Taxpayer’s Notification: This service keeps taxpayers being informed about their declaration obligation, the incoming due dates liabilities, tax debts notice
  • Taxpayer’s Delegation: This service allows taxpayers to delegate their tax duties to tax agencies such as submitting tax returns, receiving tax notices or updating taxpayers’ registration profile.

Beside functional requirements it is required to meet the following non-functional requirements including:

  • Simple enough to use by large numbers of taxpayers;
  • User-friendly and responsive web-based interfaces to support accessing from both computers and mobile devices;
  • High availability, high performance and high security;
  • Easy to expand in the future.

The SAP MCF for Public Sector helps us to meet all above-mentioned requirements and it is also flexible enough to allows us conducting a lot of detail customization in terms both of user interfaces and business process. We will discuss in detail about the MCF in next sections:

Figure 1-1. Main function of MCF for Public Sector
Figure 1-2. Main function of MCF for Public Sector

SAP Multichannel for Public Sector

The architecture of SAP MCF for public sector is built on top of two foundation technologies including SAPUI5 and OData Services. The architecture of SAP MCF for public sector module is illustrated by the below image:

Figure 2. Architecture of SAP MCF for Public Sector

Basically, SAP MCF for Public Sector is composed of two main components:

  • Public Sector SAPUI5 app which is UI layer running on SAP Gateway using SAPUI5 as foundation technology;
  • Public Sector Multichannel ERP add-on which is an add-on package running on backend SAP ERP using OData service as foundation technology.


So what SAPUI5 really is? The answer comes from SAP’s efforts to meets the demands of market to have “sexier” User Interface technology. For many years, SAP GUI and SAP Netweaver Portal with simple blue crystal theme is becoming quite boring and only working smoothly with Internet Explorer. They are neither support emerging browsers such as Chrome, Firefox or Safari but they do not support mobile devices’ browsers. Therefore, a new UI technology under codename “Phoenix” had been implemented by SAP for years. Nowadays SAPUI5 have been using for a couple of products already especially the family of “Fiori” applications and SAP MCF for public sectors.

SAPUI5 is a client UI technology based on JavaScript, CSS and HTML5. It is a JavaScript UI library consisting of a feature-rich core and a really large number of UI controls which are organized in a handful of libraries. By “feature-rich” it means stuff like data binding and models for different data sources, an efficient engine for creating and updating the HTML of the controls, support for a Model-View-Controller concept, support for declarative UI construction and HTML templates, automatic loading of the appropriate language resources and many other features along these lines:

  • The controls (around 200 controls]) range from simple Button controls to complex ones like the sap.m.SplitContainer (with a responsive master-detail behavior and animated page navigation) and provide support for accessibility, keyboard navigation, touch interaction, right-to-left languages etc. out of the box. Different visual themes are available and can be adapted by either modifying the CSS or using the Theme Designer a special function built in SAP Gateway.
  • SAPUI5 library is using for business applications, where standards like security and supportability are crucial, so protection against cross-site scripting and other attacks and a powerful error analysis/inspection tool is integrated. SAPUI5 is also based on jQuery, which of course can be directly used in UI5 applications, but there’s a lot on top of it, so most of the time we might rather find ourselves working with the controls.
  • Many other Open Source libraries are used in UI5 and come bundled with it, e.g.  the famous CSS processor, or datajs, the OData library.
  • Applications developed with SAPUI5 run in a browser on any device (mobile, tablet or desktop PC).

How SAPUI5 works

When users access an SAPUI5 app, a request is sent to the respective SAP Gateway server to load the application into the browser. The view accesses the relevant libraries. Usually the model is also instantiated and business data is fetched from the database. Depending on the environment in which SAPUI5 is used, the libraries or your applications can be stored, for example, on an SAP NetWeaver Application Server or an SAP Cloud Platform, and business data can be accessed, for example, using the OData model through a SAP Gateway.

Figure 3. SAPUI5 Architecture

Part 2: What is OData Service and Example SAP UI5 & OData Service

Le Huy Phuong – FPT IS

Related posts: