Giter Site home page Giter Site logo

fiskaltrust-c-lib-soap's Introduction

#C Library fuer die Anbindung an den fiskaltrust dienst

###Version 0.2 für fiskaltrustdienst vom 30.6.2016

##Offene Punkte

  • DEP auslesen funktioniert nur bis zu einer Länge von 65536
  • Summenzähler auslesen
  • Monatsbeleg/Jahresbeleg
  • Statusmeldungen auslesen
  • 21.7.2016 Nachrichtenspeicher heap läuft nach ca. 54 Signierungen über -> heap vor jeder Signierung löschen und neu anfordern, dann ist das Problem gelöst.

##Projektidee

  • Einfache C Anbindung an den Fiskaltrustdienst
  • Erstellen einer möglichst einfach verwendbaren C-Schnittstelle für die Fiskaltrust SOAP Schnittstelle
  • Einfaches C-Testprogramm zum Testen der erstellten Library

Die Fiskaltrust SOAP Schnittstelle soll mit einer Ingres 4GL Datenbankanwendung verwendet werden. Die 4GL Anwendung kann nur mit VC10.0 kompiliert werden. Die Fiskaltrust C Schnittstelle kann nur mit VC 14.0 (Visual Studio 2015) kompiliert werden, nun muss eine Schnittstelle zwischen diesen beiden Versionen geschaffen werden. Hierzu wird mit Visual Studio 15.0 eine C-Library erstellt, welche in die VC10.0 Umgebung eingebunden werden kann, damit ist es möglich die Funktionen der Library mit der Ingres 4GL Anwendung zu verwenden. Diese C-Funktionen sollen möglichst einfach Aufrufe anbieten, und eine Testumgebung für die SOAP Schnittstelle. Komplizierte Funktions- und Datenstrukturen können von der 4GL Anwendung nicht aufgerufen werden.

Die veröffentlichen Sourcen sollen für C-Entwickler einen einfachen Einstieg in die Anbindung an die SOAP Schnittstelle bieten. Keine Haftung für Fehler usw.

Grundlage für dieses Projekt sind die Projekte auf Github: fiskaltrust/demo und fiskaltrust/interface

##Testsystem

  • PC mit Windows 7 prof. 64 Bit
  • Visual C 10.0 (32 Bit)
  • Visual Studio Express 2015 für Windows Desktop
  • Ingres 10.0 (32 Bit)

##Veröffentliche Dateien

Datei Beschreibung
deplib.cpp C/C++ Source
deplip.h Headerdatei
deplib_test.sln VS2015 Solution
deplib_test.vcxproj VS2015 VC++ Project
deplib_test.vcxproj.filters VS2015 VC++ Project
deplib_test.vcxproj.user VS2015 VC++ Project
Release_LIB/... erstellte C-Library
fiskaltrust.interface.wsdl.c erstellt mit ws_erstellen.bat
fiskaltrust.interface.wsdl.h erstellt mit ws_erstellen.bat
stdafx.cpp übernommen von fiskaltrust
stdfx.h übernommen von fiskaltrust
targetver.h übernommen von fiskaltrust
tools/… übernommen von fiskaltrust
test_lib.c C-Source zum Testen der deplib
test_lib.exe Testprogramm
test_lib_make.bat Batch zum Erstellen des Testprogramms

##Verwenden der Testumgebung

  1. Downloaden des Gesamten Projekts von Github in z.B.: \deplib
  2. Starten des Fiskaltrust Dienstes:
  • \deplib\tools\fiskaltrust-net40\test.cmd
  • Sollte es Probleme beim Starten des Dienstes geben, dann das Verzeichnis C:\ProgramData\fiskaltrust löschen
  1. Visual Studio 2015 Projekt öffnen:
  • \deplib\deplib_test.sln
  1. Das Projekt kann mit 3 verschiedenen Konfigurationen erstellt werden (muss für x86 compiliert werden):
  • Release_LIB......es wir die Library Release_LIB/deplib_test1.lib erstellt
  • Debug.......zum Testen, die Funktion main() wird mit compiliert
  • Release.....zum Testen, die Funktion main() wird mit compiliert
  1. Testprogramm test_lib
  • Übersetzen des Programms test_lib: Im Explorer doppelklicken auf \deplib\test_lib_make.bat
  • Starten des Programms: Im Explorer doppelklicken auf \deplib\test_lib.exe

##Datenübergabe In diesen Beispielen werden nur Rechnungssummen und keine einzelne Artikel an die Schnittstelle übergeben. Grundlage für diese Vorgehensweise:

Auszug aus diversen FAQs an das BMF:

Wenn eine Rechnung ausgestellt wird, unabhängig ob mit Excel bzw. Word (wird dann der Buchhaltung übergeben) oder über ein ERP/WWS, und diese bereits zur Abfuhr der Steuerschuld herangezogen wird, dann ist bei Erfassung in der Registrierkasse hier ein Verweis auf die Rechnung und keine Aufschlüsselung der Steuersätze zulässig und ausreichend. Ist das korrekt? Oder muss die Rechnung im selben System wie der Registrierkasse erfasst werden? Ja, der Betrag gehört dann auch dem Null% Umsatz zugeordnet (Bruttobetrag).

"Mit Hilfe der Registrierkasse wird ein Zahlungsbeleg (keine Rechnung!) ausgestellt der lediglich auf die Rechnung verweist und keine Aufschlüsselung nach Umsatzsteuersätzen enthält. Siehe Punkt 2.4.11: „Es ist zulässig auf diesem Beleg lediglich auf die Nummer der Rechnung zu verweisen und keine Aufschlüsselung der Umsätze nach Steuersätzen vorzunehmen, wenn die Rechnung zur Abfuhr der Steuerschuld schon im (elektronischen) Aufzeichnungssystem erfasst wurde.“ c) Der Beleg verweist auf die Rechnung, enthält keine Aufschlüsselung nach Umsatzsteuersätzen und somit auch nicht im DEP. d) Dieser Zahlungsbetrag ist im DEP der Registrierkasse vollständig als „Betrag-Satz-Null“ zu erfassen. Stimmt und gehört auch in den Umsatzzähler. e) Als (elektronisches) Aufzeichnungssystem ist auch ein klassisches Hotelprogramm zu verstehen, welches Rechnung in fortlaufender Nummerierung ausstellt (ähnlich der Funktionalität eines einfachen Warenwirtschaftssystems).

fiskaltrust-c-lib-soap's People

Contributors

xmasmc avatar

Watchers

AxelKutschera avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.