Mews.Fiscalizations.Czechia 4.0.1 Prefix Reserved

Install-Package Mews.Fiscalizations.Czechia -Version 4.0.1
dotnet add package Mews.Fiscalizations.Czechia --version 4.0.1
<PackageReference Include="Mews.Fiscalizations.Czechia" Version="4.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mews.Fiscalizations.Czechia --version 4.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Mews.Fiscalizations.Czechia, 4.0.1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Mews.Fiscalizations.Czechia as a Cake Addin
#addin nuget:?package=Mews.Fiscalizations.Czechia&version=4.0.1

// Install Mews.Fiscalizations.Czechia as a Cake Tool
#tool nuget:?package=Mews.Fiscalizations.Czechia&version=4.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

📃 Description

EET stands for Elektronická Evidence Tržeb, which is the Czech version of Fiscal Printers. It's an online API provided by the Ministry of Finance in a form of a SOAP Web Service.

⚙️ Installation

The library can be installed through NuGet packages or the command line as mentioned below:

Install-Package Mews.Fiscalizations.Czechia

🎯 Features

  • Functional approach via FuncSharp.
  • No Czech abbreviations.
  • Early data validation.
  • Asynchronous I/O.
  • All endpoints are covered with tests.
  • Intuitive immutable DTOs.
  • Cross platform (uses .NET Standard).
  • Logging support
  • SOAP communication (including WS-Security signing).
  • PKP and BKP security code computation.

❗ Known issues

  • 8: As the communication is done fully via HTTPS, we postponed the implementation of response signature verification. It's a potential security risk that will be addressed in upcoming releases.

🔐 Security protocol

  • TLS 1.2 protocol must be enabled, that can be achieved by adding the following line to your code:
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12

📦 NuGet

We have published the library as Mews.Fiscalizations.Czechia.

👀 Code Examples

Listed below are some of the common examples. If you want to see more code examples, please check the Tests.

var certificate = new Certificate(
    password: "certificatePassword",
    data: certificateContentsByteArray
);

var record = new RevenueRecord(
    identification: new Identification(
        taxPayerIdentifier: new TaxIdentifier("CZ1234567890"),
        registryIdentifier: new RegistryIdentifier("01"),
        premisesIdentifier: new PremisesIdentifier(1),
        certificate: certificate
    ),
    revenue: new Revenue(
        gross: new CurrencyValue(1234.00m)
    ),
    billNumber: new BillNumber("2016-321")
);

var securityCode = record.SecurityCode; // BKP
var signature = record.Signature; // PKP

var client = new EetClient(certificate);
var response = await client.SendRevenueAsync(record);
if (response.IsSuccess)
{
    var fiscalCode = response.Success.FiscalCode;
}
  • More examples are presented here.
  • Some of the data items are explained here.

🏭 Who uses the library in production?

  • Mews - Property Management Solution for the 21st century.
  • Hlídač EET - Watchdog of the EET API endpoint and related services.
  • Keszh, Neszh - Hart Internal ERP System
  • Ankerdata EasiPOS - POS system
  • sySOft - POS system

👍 Credits

Development: @jirihelmich

Code review: @siroky, @onashackem

Contribution: @tomasdeml: PR#3

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
4.0.1 83 11/5/2021
4.0.0 792 7/21/2021
3.0.2 129 7/2/2021
3.0.1 129 7/1/2021
3.0.0 158 5/24/2021