PipedreamHQ / PipedreamHQ/pipedream
[APP] beliq - EU e-invoicing (generate / validate / parse / convert)
- Dominant language
- JavaScript
- Stars
- 11.7k
- Forks
- 5.8k
- Avg merge
- 3d 10h
- Merged PRs (30d)
- 102
Description
**Name of app / service**
beliq (https://beliq.eu) - an API for EU e-invoicing: generate, validate, parse and convert EN 16931 documents (XRechnung, ZUGFeRD, Factur-X, Peppol BIS, FatturaPA, Facturae, e-SLOG).
I am the API owner. I have the components built and tested and would like to contribute them to the registry, but the PR template says a new app has to be integrated by Pipedream first, so this is that request.
**Link to developer documentation**
- Docs: https://docs.beliq.eu
- Authentication: https://docs.beliq.eu/api-reference/authentication
- OpenAPI 3.0.3 spec: https://api.beliq.eu/openapi.json
Auth is a single static API key. beliq accepts it either as `X-API-Key: ` or as `Authorization: Bearer `, so a `custom` app with one `api_key` secret field is all that is needed. No OAuth, no refresh, no scopes.
Connect-time test: `GET https://api.beliq.eu/v1/me` returns `{"success":true,"data":{...}}` for a valid key and 401 otherwise. It is quota-exempt and costs the user nothing, so it is safe to call on every connection test.
**Is lack of support preventing you from moving forward, or do you have a workaround?**
It is blocking. The components are written and passing (source of truth: https://github.com/beliq-eu/pipedream-beliq), but without the `beliq` app provisioned there is nothing for `app: "beliq"` to resolve to, so the registry PR cannot be reviewed or merged. Pipedream users can call the API through a generic HTTP request step today, which means hand-managing the key and the raw XML/PDF request bodies.
**Are there specific actions or triggers you'd like to see for this app?**
Five actions, all already implemented and unit tested in the repo above. No triggers - the API is request/response compute, it emits no events.
| Action | Endpoint | What it does |
|---|---|---|
| Generate Invoice | `POST /v1/generate` | JSON invoice in, standard-compliant XML or hybrid PDF out |
| Validate Invoice | `POST /v1/validate` | XML or PDF in, structured pass/fail with rule ids out |
| Parse Invoice | `POST /v1/parse` | XML or PDF in, structured invoice JSON out |
| Convert Invoice | `POST /v1/convert` | converts between e-invoice syntaxes, reports lost elements |
| Check Account | `GET /v1/me` | zero-quota credential and quota check |
Happy to adjust the shape of any of these to fit registry conventions. Thanks for taking a look.
Contributor guide
Research direction
Start with the existing components and unit tests in github.com/beliq-eu/pipedream-beliq, then review api.beliq.eu/openapi.json and the authentication documentation. Compare the five listed endpoints and the GET /v1/me connection test with Pipedream's registry conventions; done means the beliq app resolves and its actions authenticate and pass their tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, openapi, typescript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100