This project has been selected for GSoC 2018

Student

Name

IRC nick

Earliest time for weekly call (UTC)

Latest time for weekly call (UTC)

HarshitJoshi

duskybomb

02:00

20:00

Mentors

Name

IRC nick

Earliest time for weekly call (UTC)

Latest time for weekly call (UTC)

ManuelRiel

m3nu

01:00

16:00

ThomasLevine

tlevine

?PimMoerenhout

Project Introduction

Despite efforts to develop new formats for the exchange of invoices, most invoices are still exchanged via PDF, mainly due to the great fallback (can view, print, sign, add stamps, etc) they provide. Purely machine-readable formats, like EDIFACT[1] are only used for high-volumen business relationships by large companies.

In January 2018, France finalized a new standard, called Factur-X that builds on a different German standard ("ZUGFeRD"), as well as EU Norm EN 16931. This standard allows for the embedding of different XML-based invoice representations, like CII[17]. Benefits of using this standard are:

More on the Factur-x standard (translated from [7]):

While there are a number of commercial libraries[2, 10] and several Java libraries[8, 9] that support the Factur-x standard, there is no fully developed easy-to-use open source Python library.[4]

This Debian-backed and Google-sponsored project aims to advance the ecosystem for machine-readable invoice exchange and make it easily accessible for the whole Python community by making the following contributions:

  1. Python library to read/write/add/edit Factur-x metadata in different XML-flavors in Python.
  2. Command line interface to process PDF files and access the main library functions.
  3. Way to add structured data to existing files or from legacy accounting systems. (via invoice2data project)

  4. New desktop (web?) GUI to add, edit, import and export factur-x metadata in- and out of PDF files.

Goals of 2018 GSoC

Bonus deliverables:

Development tools and resources

Source code repositories

Source code is kept on Github for easy access by the wider community. Bugs, ideas and progress on features are tracked via Github issues.

Style guides and best practices

Communication channels

Technical skills for student to become familiar with

Current Tasks

Task

Status

Refactor and extend facturx project

In Progress

Close existing invoice2data issues.

Completed

Integrate facturx library with invoice2data

Not started

Develop desktop GUI to view, add and edit factur-x details

In Progress

Documentation and simple website

Not started

References