Mcs.Invoicing.IntegrationToolKit 1.0.12-preview

This is a prerelease version of Mcs.Invoicing.IntegrationToolKit.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Mcs.Invoicing.IntegrationToolKit --version 1.0.12-preview                
NuGet\Install-Package Mcs.Invoicing.IntegrationToolKit -Version 1.0.12-preview                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Mcs.Invoicing.IntegrationToolKit" Version="1.0.12-preview" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mcs.Invoicing.IntegrationToolKit --version 1.0.12-preview                
#r "nuget: Mcs.Invoicing.IntegrationToolKit, 1.0.12-preview"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Mcs.Invoicing.IntegrationToolKit as a Cake Addin
#addin nuget:?package=Mcs.Invoicing.IntegrationToolKit&version=1.0.12-preview&prerelease

// Install Mcs.Invoicing.IntegrationToolKit as a Cake Tool
#tool nuget:?package=Mcs.Invoicing.IntegrationToolKit&version=1.0.12-preview&prerelease                

IntegrationToolKit is a .Net6 NuGet exposed as a set APIs to the taxpayers’ POS/ERP systems and developers as well. It’s optional for the taxpayer to integrate their systems with the toolkit.

The nuget is intended to support different scenarios that can be performed in offline mode. The different set of functionalities/APIs that will be supported in offline mode will be as follows:

• Issue Receipt • Generate Receipt QR code • Assign globally unique receipt UUID • Export issued receipts • Validate documents locally while issuing and generation of UUID and QR codes

Other than working offline, the toolkit will have to be used in online mode for specific scenarios that require connection to the eReceipt solution. It will also use external APIs 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

Nuget is implemented to store receipts in SQLlite database, So developer need to configure how to connect to it while initialization of application services.

To Use it do follow the following steps

1- Add configuration section to apsettings.json "ToolkitConfig": { // connection string of sqllit database "LocalConnectionsString": "Data Source=C:\Users\Administrator\AppData\Local\LocalReceipts.db;",

//Egypt tax authority configuration section
"EtaConfig": {
  
  // identity service url to acquire access token to invoicing APIs
  "IdentityServiceUrl": "https://id.sit.eta.gov.eg/connect/token",
  
  // invoicing portal base url, will be used while generation of QR codes
  "InvoicingServiceBaseUrl": "https://api.sit.invoicing.eta.gov.eg",

  // invoicing service base url, will be used while submission and syncing receipts
  "InvoicingPortalBaseUrl": "https://sit.invoicing.eta.gov.eg/",

  // version of invoicing service
  "InvoicingServiceVersion": "1",

  // The involved POS while integration with invoicing through nuget
  "PosSerial": "YV200T570"
}

}

2- Add it to service collection using extension method // By calling this service u can inject IToolkitHandler service // and use any of its exposed functionality like issue, submit, sync ... and son services.AddToolkit(configuration);

Usage Notes 1- You can combine the previous two steps in one step by calling the following line of code where you pass configuration object apart from your configuration file: services.AddToolkit(configuration, ToolkitConfig);

2- You can delegate the creation of SQLite database to nuget by adding the following line of code in application startup: app.MigrateToolkitLocalStorage();

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.46-preview 165 8/12/2022
1.0.45-preview 122 8/11/2022
1.0.44-preview 116 8/11/2022
1.0.43-preview 104 8/11/2022
1.0.42-preview 104 8/11/2022
1.0.41-preview 107 8/10/2022
1.0.40-preview 125 8/10/2022
1.0.39-preview 118 8/9/2022
1.0.38-preview 111 8/9/2022
1.0.37-preview 126 8/9/2022
1.0.34-preview 111 8/8/2022
1.0.33-preview 124 8/8/2022
1.0.32-preview 113 8/8/2022
1.0.31-preview 110 8/8/2022
1.0.30-preview 112 8/7/2022
1.0.29-preview 107 8/7/2022
1.0.28-preview 107 8/7/2022
1.0.27-preview 119 8/7/2022
1.0.26-preview 121 8/7/2022
1.0.25-preview 118 8/7/2022
1.0.24-preview 125 8/7/2022
1.0.20-preview 114 8/7/2022
1.0.19-preview 133 8/6/2022
1.0.18-preview 106 8/5/2022
1.0.17-preview 107 8/5/2022
1.0.16-preview 114 8/5/2022
1.0.15-preview 117 8/4/2022
1.0.14-preview 114 8/4/2022
1.0.13-preview 119 8/4/2022
1.0.12-preview 118 8/4/2022
1.0.11-preview 108 8/4/2022
1.0.10-preview 108 8/3/2022