---
title: "Open source: libraries for e-invoicing, food labelling and Nuxt | FH SoftDev"
description: "Open source projects by FH SoftDev: jasyPDF for e-invoices, lmiv for food information, nuxt-pigeon and nuxt-freeform."
canonical_url: "https://fh-softdev.de/en/open-source"
locale: en
meta:
  "og:description": "Open source projects by FH SoftDev: jasyPDF for e-invoices, lmiv for food information, nuxt-pigeon and nuxt-freeform."
  "og:image": "https://fh-softdev.de/img/og-en.png"
  "og:image:alt": "Software development, operations and consulting from Freihung, Bavaria. Since 2016."
  "og:image:height": "630"
  "og:image:width": "1200"
  "og:title": "Open source: libraries for e-invoicing, food labelling and Nuxt"
---

> Index of every page on this site: [llms.txt](https://fh-softdev.de/llms.txt)

# **Open source**

Part of our work is public. You can read every line.

## **Why we do it**

Laws should be easy to comply with. Mandatory e-invoicing and the EU food information regulation affect thousands of businesses, yet the JavaScript world had no usable free libraries for them.

So we build them ourselves and make them available to everyone. Our clients benefit twice: from technology we understand in detail, and from code that many eyes review.

And you see how we work before you hire us. No reference letter is as honest as public source code.

- ## **jasyPDF**In production

  PDFs and e-invoices (ZUGFeRD / Factur-X, XRechnung) in pure TypeScript, without a browser and without Java. [On GitHub](https://github.com/Flo0806/jasy-pdf)
- ## **lmiv**In development

  Food information according to EU Regulation 1169/2011: derive ingredient lists, allergens and nutrition values correctly from recipes. [On GitHub](https://github.com/Flo0806/lmiv)
- ## **nuxt-pigeon**Released

  Send and receive messages via Telegram, Discord, Slack, ntfy, Mastodon, Bluesky and webhooks, with one interface in Nuxt. [On GitHub](https://github.com/Flo0806/nuxt-pigeon) [Documentation](https://pigeon.fh-softdev.de)
- ## **nuxt-freeform**Released

  Desktop-like drag and drop for Nuxt and Vue: lasso selection, multi-select, lists and free canvases. [On GitHub](https://github.com/Flo0806/nuxt-freeform) [Documentation](https://nuxt-freeform.fh-softdev.de)

## **Tell us where it hurts.**

A short call is usually enough to know whether we can help. Free and without obligation.

[Book an intro call](https://fh-softdev.de/en/contact#booking) [09646 4519854](tel:+4996464519854) [info@fh-softdev.de](mailto:info@fh-softdev.de)

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://fh-softdev.de/en#website","@type":"WebSite","inLanguage":"en-US","name":"FH SoftDev","url":"https://fh-softdev.de/en","publisher":{"@id":"https://fh-softdev.de/#identity"},"translationOfWork":{"@id":"https://fh-softdev.de/de#website"}},{"@id":"https://fh-softdev.de/en/open-source#webpage","@type":"WebPage","description":"Open source projects by FH SoftDev: jasyPDF for e-invoices, lmiv for food information, nuxt-pigeon and nuxt-freeform.","name":"Open source: libraries for e-invoicing, food labelling and Nuxt","url":"https://fh-softdev.de/en/open-source","isPartOf":{"@id":"https://fh-softdev.de/en#website"},"potentialAction":[{"@type":"ReadAction","target":["https://fh-softdev.de/en/open-source"]}],"primaryImageOfPage":{"@id":"https://fh-softdev.de/#logo"}},{"@id":"https://fh-softdev.de/#identity","description":"Software development, operations and consulting from Freihung, Bavaria. Since 2016.","email":"info@fh-softdev.de","foundingDate":"2016","legalName":"FH SoftDev (Florian Heuberger Software Development)","name":"FH SoftDev","priceRange":"€€","telephone":"+4996464519854","url":"https://fh-softdev.de/","vatID":"DE265013614","@type":["Organization","LocalBusiness","ProfessionalService"],"address":{"@type":"PostalAddress","streetAddress":"Weickenricht 25","postalCode":"92271","addressLocality":"Freihung","addressRegion":"Bayern","addressCountry":"DE"},"areaServed":["Amberg","Oberpfalz","Bayern","Deutschland"],"founder":{"@id":"https://fh-softdev.de/#founder"},"image":{"@id":"https://fh-softdev.de/#/schema/image/1"},"knowsAbout":["Software development","Nuxt","Vue.js","TypeScript","E-invoicing","ZUGFeRD","XRechnung","AI integration","Cloud hosting"],"sameAs":["https://www.linkedin.com/company/flogersoft/","https://github.com/Flo0806","https://bsky.app/profile/flo-heuberger.bsky.social"]},{"@id":"https://fh-softdev.de/#founder","@type":"Person","description":"Founder of FH SoftDev, Nuxt Ecosystem Member","jobTitle":"Software Developer","name":"Florian Heuberger","image":{"@id":"https://fh-softdev.de/#/schema/image/2"},"sameAs":["https://github.com/Flo0806","https://bsky.app/profile/flo-heuberger.bsky.social"]},{"@id":"https://fh-softdev.de/en/open-source#/schema/software-source-code/1","@type":"SoftwareSourceCode","codeRepository":"https://github.com/Flo0806/jasy-pdf","description":"PDFs and e-invoices (ZUGFeRD / Factur-X, XRechnung) in pure TypeScript, without a browser and without Java.","name":"jasyPDF","programmingLanguage":"TypeScript","author":{"@id":"https://fh-softdev.de/#founder"}},{"@id":"https://fh-softdev.de/en/open-source#/schema/software-source-code/2","@type":"SoftwareSourceCode","codeRepository":"https://github.com/Flo0806/lmiv","description":"Food information according to EU Regulation 1169/2011: derive ingredient lists, allergens and nutrition values correctly from recipes.","name":"lmiv","programmingLanguage":"TypeScript","author":{"@id":"https://fh-softdev.de/#founder"}},{"@id":"https://fh-softdev.de/en/open-source#/schema/software-source-code/3","@type":"SoftwareSourceCode","codeRepository":"https://github.com/Flo0806/nuxt-pigeon","description":"Send and receive messages via Telegram, Discord, Slack, ntfy, Mastodon, Bluesky and webhooks, with one interface in Nuxt.","name":"nuxt-pigeon","programmingLanguage":"TypeScript","author":{"@id":"https://fh-softdev.de/#founder"}},{"@id":"https://fh-softdev.de/en/open-source#/schema/software-source-code/4","@type":"SoftwareSourceCode","codeRepository":"https://github.com/Flo0806/nuxt-freeform","description":"Desktop-like drag and drop for Nuxt and Vue: lasso selection, multi-select, lists and free canvases.","name":"nuxt-freeform","programmingLanguage":"TypeScript","author":{"@id":"https://fh-softdev.de/#founder"}},{"@id":"https://fh-softdev.de/#/schema/image/1","@type":"ImageObject","contentUrl":"https://fh-softdev.de/img/og-de.png","inLanguage":"en-US","url":"https://fh-softdev.de/img/og-de.png"},{"@id":"https://fh-softdev.de/#logo","@type":"ImageObject","caption":"FH SoftDev","contentUrl":"https://fh-softdev.de/img/logo.png","inLanguage":"en-US","url":"https://fh-softdev.de/img/logo.png"},{"@id":"https://fh-softdev.de/#organization","@type":"Organization","logo":"https://fh-softdev.de/img/logo.png","name":"FH SoftDev","url":"https://fh-softdev.de/","address":{"@type":"PostalAddress","streetAddress":"Weickenricht 25","postalCode":"92271","addressLocality":"Freihung","addressRegion":"Bayern","addressCountry":"DE"},"sameAs":["https://www.linkedin.com/company/flogersoft/","https://github.com/Flo0806","https://bsky.app/profile/flo-heuberger.bsky.social"]},{"@id":"https://fh-softdev.de/#/schema/image/2","@type":"ImageObject","contentUrl":"https://fh-softdev.de/img/florian-heuberger.jpg","inLanguage":"en-US","url":"https://fh-softdev.de/img/florian-heuberger.jpg"}]}
```

## Sitemap

See the full [sitemap](https://fh-softdev.de/sitemap.md) for all pages.
