Mews.Fiscalizations.Austria 8.0.1

Prefix Reserved
dotnet add package Mews.Fiscalizations.Austria --version 8.0.1                
NuGet\Install-Package Mews.Fiscalizations.Austria -Version 8.0.1                
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="Mews.Fiscalizations.Austria" Version="8.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Mews.Fiscalizations.Austria --version 8.0.1                
#r "nuget: Mews.Fiscalizations.Austria, 8.0.1"                
#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 Mews.Fiscalizations.Austria as a Cake Addin
#addin nuget:?package=Mews.Fiscalizations.Austria&version=8.0.1

// Install Mews.Fiscalizations.Austria as a Cake Tool
#tool nuget:?package=Mews.Fiscalizations.Austria&version=8.0.1                

<p align="center"> <a href="https://mews.com"> <img alt="Mews" src="https://user-images.githubusercontent.com/51375082/120493257-16938780-c3bb-11eb-8cb5-0b56fd08240d.png"> </a> <br><br> <b>Mews.Fiscalizations.Austria</b> is a .NET library that allows you to generate QR codes compliant with Austrian fiscal law (RKSV2017). Currently offers a signer based on A-Trust WS RK.Online API. <b>Current supported version is 2.0.</b> <br><br> <a href="https://www.nuget.org/packages/Mews.Fiscalizations.Austria/"> <img src="https://img.shields.io/nuget/v/Mews.Fiscalizations.Austria"> </a> <a href="https://github.com/MewsSystems/fiscalizations/blob/master/LICENSE"> <img src="https://img.shields.io/github/license/MewsSystems/fiscalizations"> </a> <a href="https://github.com/MewsSystems/fiscalizations/actions/workflows/publish-austria.yml"> <img src="https://img.shields.io/github/actions/workflow/status/MewsSystems/fiscalizations/publish-austria.yml?branch=master&label=publish"> </a> <a href="https://labs.a-trust.at/developer/pdf/asignRKHSM_basic_advanced_premium.pdf"> <img src="https://img.shields.io/badge/v2.0-registrierkasse-lightgrey"> </a> </p>

📃 Description

This library uses the A-Trust to generate the QR codes, please check their Documentation.

⚙️ Installation

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

Install-Package Mews.Fiscalizations.Austria

🎯 Features

  • Functional approach via FuncSharp.
  • No Austrian abbreviations.
  • Early data validation.
  • Asynchronous I/O.
  • All endpoints are covered with tests.
  • Intuitive immutable DTOs.
  • Pipelines that run on both Windows and Linux operating systems.
  • Cross platform (uses .NET 6).

📦 NuGet

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

👀 Code Examples

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

Creating QR data from bills

var qrData = new QrData(new Receipt(
    number: new ReceiptNumber("83469"),
    registerIdentifier: new RegisterIdentifier("DEMO-CASH-BOX817"),
    taxData: new TaxData(
        standartRate: new CurrencyValue(29.73m),
        lowerReducedRate: new CurrencyValue(36.41m),
        specialRate: new CurrencyValue(21.19m)
    ),
    turnover: new CurrencyValue(0.0m), 
    certificateSerialNumber: new CertificateSerialNumber("-3667961875706356849"),
    previousJwsRepresentation: new JwsRepresentation("..."),
    created: new LocalDateTime(
        new DateTime(2015, 11, 25, 19, 20, 11),
        LocalDateTime.AustrianTimezone
    )
);

Using A-Trust RK.Online signer

var signer = new ATrustSigner(Credentials, ATrustEnvironment.Test);
var output = signer.Sign(qrData);

SignerOutput Usage

fiscalRecord.JwsRepresentation = output.JwsRepresentation.Value;
fiscalRecord.QrData = output.SignedQrData.Value;
fiscalRecord.Signature = output.JwsRepresentation.Signature.Value;

🔐 Security protocol

  • TLS 1.1 and TLS 1.2 protocols must be enabled, that can be achieved by adding the following line to your code:
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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
8.0.1 370 1/31/2024
8.0.0 321 1/29/2024
7.0.0 698 8/27/2023
6.0.2 706 8/2/2023
6.0.1 741 7/26/2023
6.0.0 725 7/24/2023
5.0.0 917 11/30/2022
4.0.0 1,002 9/6/2022
3.0.2 961 7/4/2022
3.0.1 905 11/5/2021
3.0.0 1,439 5/24/2021