The toolkit is a set of utilities used to help taxpayer’s developers integrate with eReceipt platform, Toolkit is offered in three flavors Docker Container for Rest API, Nuget Library and Command Line Interface(CLI). It is intended to support different scenarios that can be performed in offline/online mode.
Features that can be supported in offline mode as follows:
• Issue Receipt
• Generate Receipt QR code
• Assign globally unique receipt UUID
• Store and export issued receipts
• Validate documents locally
• Sign receipt submission
Other than working offline, the toolkit needs to be available in online mode for specific scenarios that require connection to the eReceipt solution. It will also use external API’s exposed by the eReceipt solution’s server-side to perform the following:
• Help authenticate POS
• Synchronize receipts
• Update codes and business rules in local cache
Toolkit is implemented to store receipts or any other local data in SQlite database, So developer need to configure how to connect to it while initialization of application services.
Toolkit will store the receipts in the local database with a specific status. The status is an integer value, which could be one of the following:
|Exported||-1||The status of the receipt will be changed from new to exported when the user performs an export operation|
|New||0||The status of the receipt when it is issued|
|Submitted||1||The status of the receipt when it is submitted|
|Valid||2||The status of the receipt if the submission result is successful|
|Invalid||3||The status of the receipt if the submission has validation issues|
|Cancelled||4||The status of the receipt if it got cancelled by the reviewer|
• Toolkit configured sqlite db only works for one POS Device.
• It is optional for the taxpayer to integrate their systems with the toolkit.
• Signing the submission is not required as this feature is disabled.
• Data cleanup will be handled by a background job that will be used to delete all cached and stored data older than a predefined period (for example 1 Month).
• Tracing applied on offline toolkit capabilities. Tracing enabled through a Local text file content using Serilog.
Integration toolkit is available in any of the below options, So developer needs to install the below suitable option to setup and proceed further:
• Docker Container Install - Docker Container image is a lightweight, standalone, executable package of software that includes everything needed to run an API(Application Programming Interface).
• Nuget Install - NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers. Using this integration, developer can consume the nuget package and build their custom tool.
• Command Line Interface(CLI) Install - Command Line Interface (CLI) is a text-based user interface (UI) used to run various toolkit features. Using this tool, developer can perform their quick tests.
Configuration and Administration
To configure various toolkit options, developer needs to follow this section to understand about the configuration steps. Here developer can choose container configuration if he/she wants to consume toolkit API’s or can choose and configure CLI/Nuget test tool for quick tests.
Here are the various configuration and administration toolkit options:
• Docker Container Config
• Nuget Config
• Command Line Interface(CLI) Config