https://github.com/phax/ph-ebinterface
Java library for reading and writing ebInterface documents
https://github.com/phax/ph-ebinterface
Last synced: about 2 months ago
JSON representation
Java library for reading and writing ebInterface documents
- Host: GitHub
- URL: https://github.com/phax/ph-ebinterface
- Owner: phax
- License: apache-2.0
- Created: 2014-08-25T08:02:54.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2026-03-17T08:44:29.000Z (about 2 months ago)
- Last Synced: 2026-03-17T21:44:51.503Z (about 2 months ago)
- Language: Java
- Size: 13.6 MB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ph-ebinterface
[](https://maven-badges.sml.io/sonatype-central/com.helger/ph-ebinterface/)
[](https://javadoc.io/doc/com.helger/ph-ebinterface)
Java library encapsulating the usage of ebInterface 3.0, 3.0.2, 4.0, 4.1, 4.2, 4.3, 5.0, 6.0 and 6.1 within your application.
See [First Steps](https://github.com/phax/ph-ebinterface/wiki/FirstSteps) (English) or
[Erste Schritte](https://github.com/phax/ph-ebinterface/wiki/ErsteSchritte) (Deutsch) for some code examples on how to read and write the different ebInterface versions.
Features:
* Read and write ebInterface 3.0 invoices
* Read and write ebInterface 3.0.2 invoices
* Read and write ebInterface 4.0 invoices
* Read and write ebInterface 4.1 invoices
* Read and write ebInterface 4.2 invoices (since v4.0.2)
* Read and write ebInterface 4.3 invoices (since v5.1.0)
* Read and write ebInterface 5.0 invoices (since v6.0.1)
* Read and write ebInterface 6.0 invoices (since v6.1.3)
* Read and write ebInterface 6.1 invoices (since v6.5.0)
* Validate the signature of ebInterface documents
* Visualize ebInterface documents as HTML documents
Note: this library is used by [WWW.E-RECHNUNG.GV.AT](http://www.e-rechnung.gv.at) - the Austrian Government "E-Rechnung an die öffentliche Verwaltung" solution for reading ebInterface files.
The library can e.g. be used in combination with the [E-RECHNUNG.GV.AT Webservice Client](https://github.com/phax/erechnung.gv.at-webservice-client) to automatically deliver invoices to the Austrian Government. Alternatively the library [ph-ubl](https://github.com/phax/ph-ubl) is available to read and write UBL 2.0, 2.1 and 2.2 invoices (and other document types).
A converter between ebInterface and UBL is available via the [ebinterface-ubl-mapping](https://github.com/austriapro/ebinterface-ubl-mapping) library.
# Usage with Maven
To use this library with Maven, add the following artefact to your pom.xml, replacing `x.y.z` with the effective version number:
```xml
com.helger
ph-ebinterface
x.y.z
```
Technically this library requires libraries from [ph-commons](https://github.com/phax/ph-commons) and [ph-xmldsig](https://github.com/phax/ph-xmldsig)
# Gradle considerations
This project relies on JDK version based Maven profile activation.
See https://github.com/phax/ph-jaxb-pom#gradle-usage for help on this specific issue.
# News and noteworthy
v8.1.0 - 2025-11-16
* Updated to ph-commons 12.1.0
* Using JSpecify annotations
v8.0.0 - 2025-08-24
* Requires Java 17 as the minimum version
* Updated to ph-commons 12.0.0
* Removed all deprecated methods marked for removal
v7.1.1 - 2025-05-04
* Switched JAXB Maven plugin to `org.jvnet.jaxb:jaxb-maven-plugin`
* Added enum `EFurtherIdentification`
v7.1.0 - 2023-04-22
* Moved XML Schema to folder `external/...`
* Deprecated classes `EbInterface(Reader|Writer|Validator)` and `EEbInterfaceDocumentType`
v7.0.0 - 2023-01-08
* Using Java 11 as the baseline
* Updated to ph-commons 11
* Using JAXB 4.0 as the baseline
v6.5.0 - 2022-08-08
* Added support of ebInterface 6.1
v6.4.0 - 2021-05-02
* Updated to ph-commons 10.1
v6.3.0 - 2021-03-21
* Updated to ph-commons 10
v6.2.1 - 2020-09-17
* Updated to Jakarta JAXB 2.3.3
v6.2.0 - 2020-08-28
* Updated to ph-commons 9.4.7
* Using Java 8 date and time classes for JAXB created classes
v6.1.6 - 2020-06-25
* Updated to ph-xmldsig 4.3.2 which uses XMLSec 2.2.0
v6.1.5 - 2020-05-26
* Updated to ph-xsds 2.3.0 (changed Maven groupId)
v6.1.4 - 2020-05-15
* Fixed an invalid CSS link in the ebInterface 5.0 XSLT
v6.1.3 - 2020-05-01
* Updated to the final version of ebInterface 6.0 - only documentation changes
v6.1.2 - 2020-04-01
* Added `xsi` default namespace prefix to the `EbInterface...NamespaceContext` classes for ebInterface 3.x and 4.0
* Added initial draft of ebInterface 6.0
* Updated to ph-commons 9.4.0
* Added ebInterface extension namespace prefixes to the `EbInterface...NamespaceContext` classes for ebInterface 4.x
v6.1.1 - 2019-06-05
* Added Java 12 compatibility
v6.1.0 - 2018-11-12
* Requires ph-commons 9.2.0
* Added ebInterface 5.0 visualization XSLT
v6.0.2 - 2018-07-27
* Requires ph-commons 9.1.3
* Added new `EbInterfaceXXNamespaceContext` classes for easy consistent usage.
* The marshaller classes, use theses namespace contexts by default
v6.0.1 - 2018-04-04
* Updated to BouncyCastle 1.59
* Updated to final ebInterface 5.0 XSD
v6.0.0 - 2018-01-05
* Updated to BouncyCastle 1.58
* Updated to ph-commons 9.0.0
* Added support for ebInterface 5.0 (RC)
v5.1.2 - 2017-01-09
* Updated to BouncyCastle 1.56
* Binds to ph-commons 8.6.0
v5.1.1 - 2016-12-14
* Fixed case sensitivity error in a filename
v5.1.0 - 2016-12-13
* Added support for ebInterface 4.3
v5.0.1 - 2016-07-15
* Using a separate artefact for XMLDSig JAXB artefacts for easier reuse (ph-xsds-xmldsig)
v5.0.0 - 2016-06-11
* Requires Java 1.8
v4.0.3 - 2015-11-25
* Made the `BIC` element in `SEPADirectDebit` of ebInterface 4.2 optional
* update to BouncyCastle 1.54
v4.0.2 - 2015-11-25
* Added support for ebInterface 4.2
v4.0.1 - 2015-10-19
* update to BouncyCastle 1.53
v4.0.0 - 2015-07-23
---
My personal [Coding Styleguide](https://github.com/phax/meta/blob/master/CodingStyleguide.md) |
It is appreciated if you star the GitHub project if you like it.