Mcs.Invoicing.IntegrationToolKit
1.0.28-preview
See the version list below for details.
dotnet add package Mcs.Invoicing.IntegrationToolKit --version 1.0.28-preview
NuGet\Install-Package Mcs.Invoicing.IntegrationToolKit -Version 1.0.28-preview
<PackageReference Include="Mcs.Invoicing.IntegrationToolKit" Version="1.0.28-preview" />
paket add Mcs.Invoicing.IntegrationToolKit --version 1.0.28-preview
#r "nuget: Mcs.Invoicing.IntegrationToolKit, 1.0.28-preview"
// Install Mcs.Invoicing.IntegrationToolKit as a Cake Addin #addin nuget:?package=Mcs.Invoicing.IntegrationToolKit&version=1.0.28-preview&prerelease // Install Mcs.Invoicing.IntegrationToolKit as a Cake Tool #tool nuget:?package=Mcs.Invoicing.IntegrationToolKit&version=1.0.28-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 integrate toolkit into your application follow the next 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": ""
}
}
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 | Versions 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. |
-
.NETStandard 2.1
- Mcs.Invoicing.Services.Documents.Models (>= 0.0.36-preview)
-
net6.0
- FluentValidation (>= 10.3.6)
- FluentValidation.AspNetCore (>= 10.3.6)
- MediatR (>= 9.0.0)
- MediatR.Extensions.Microsoft.DependencyInjection (>= 9.0.0)
- Microsoft.EntityFrameworkCore (>= 6.0.7)
- Microsoft.EntityFrameworkCore.Relational (>= 6.0.7)
- Microsoft.EntityFrameworkCore.Sqlite (>= 6.0.7)
- Newtonsoft.Json (>= 13.0.1)
- NJsonSchema (>= 10.6.6)
- QRCoder (>= 1.4.1)
- RestSharp (>= 106.0.1)
- Serilog (>= 2.11.0)
- Serilog.Extensions.Hosting (>= 5.0.1)
- Serilog.Settings.Configuration (>= 3.3.0)
- Serilog.Sinks.Console (>= 4.0.1)
- Serilog.Sinks.Debug (>= 2.0.0)
- Serilog.Sinks.File (>= 5.0.0)
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 | 171 | 8/12/2022 |
1.0.45-preview | 128 | 8/11/2022 |
1.0.44-preview | 120 | 8/11/2022 |
1.0.43-preview | 108 | 8/11/2022 |
1.0.42-preview | 108 | 8/11/2022 |
1.0.41-preview | 111 | 8/10/2022 |
1.0.40-preview | 129 | 8/10/2022 |
1.0.39-preview | 122 | 8/9/2022 |
1.0.38-preview | 115 | 8/9/2022 |
1.0.37-preview | 130 | 8/9/2022 |
1.0.34-preview | 115 | 8/8/2022 |
1.0.33-preview | 128 | 8/8/2022 |
1.0.32-preview | 117 | 8/8/2022 |
1.0.31-preview | 114 | 8/8/2022 |
1.0.30-preview | 116 | 8/7/2022 |
1.0.29-preview | 111 | 8/7/2022 |
1.0.28-preview | 111 | 8/7/2022 |
1.0.27-preview | 123 | 8/7/2022 |
1.0.26-preview | 125 | 8/7/2022 |
1.0.25-preview | 122 | 8/7/2022 |
1.0.24-preview | 129 | 8/7/2022 |
1.0.20-preview | 118 | 8/7/2022 |
1.0.19-preview | 139 | 8/6/2022 |
1.0.18-preview | 110 | 8/5/2022 |
1.0.17-preview | 111 | 8/5/2022 |
1.0.16-preview | 118 | 8/5/2022 |
1.0.15-preview | 121 | 8/4/2022 |
1.0.14-preview | 118 | 8/4/2022 |
1.0.13-preview | 123 | 8/4/2022 |
1.0.12-preview | 122 | 8/4/2022 |
1.0.11-preview | 112 | 8/4/2022 |
1.0.10-preview | 112 | 8/3/2022 |