Summary
✨ AI‑Generated
Join a mid-level full-stack team building a multi-tenant e-invoicing integration platform. You will own features end to end, from CSV/SFTP intake and background jobs that integrate with national invoicing systems to Angular portals used by customers. The role offers exposure to complex international compliance and integration challenges.
Highlights
Own end-to-end features in a multi-tenant e-invoicing platform, working across backend integrations, background processing, and Angular web portals while solving complex international compliance requirements.
Description
About Ragnar Solutions
Ragnar Solutions Romania is the Romanian branch of Ragnar Solutions BV, a growing software company based in the Netherlands.
We build and maintain Deimos, an e-invoicing integration platform used for compliance accross PEPPOL (multi-country), France, Poland, Spain and more.
E-invoicing is becoming mandatory in more and more countries, but every country has different rules, formats, and government systems.
Deimos handles that complexity for our clients, helping make sure
their invoices are processed correctly and delivered to the right systems on time.
About the Role
We are looking for a Mid-level Full-Stack Developer to join the team building Deimos.
You will own features end to end: from the CSV/SFTP intake and the background jobs that talk to national e-invoicing systems (Poland's KSeF, Spain's VeriFactu, the Peppol network) through to the Angular portals where clients see the result.
Our Stack
How it's built
A multi-tenant platform: two Angular portals (client and admin), an API gateway in front of two ASP.NET Core APIs, and multiple .NET background servicesServices talk over RabbitMQ; calls to external systems go through an outbox with idempotent retriesIntegrations over REST, SOAP and SFTP, with XML built and validated against official schemas (Peppol BIS / UBL, Poland's FA(3))Backend
C# 14 on .NET 10, ASP.NET CoreEntity Framework Core with PostgreSQLRabbitMQ, SerilogxUnit and MoqFront-end
Angular 20, standalone components and signalsTypeScript, RxJS, Tailwind CSSNx monorepo with libraries shared by both portalsPlaywright for end-to-end testsTooling and Infrastructure
Docker and Docker ComposeGitLab CI for builds, tests and deploymentsHashiCorp Vault for configuration and secrets
What you will do
Own features across backend, frontend, tests and docsBuild and maintain integrations with national e-invoicing authoritiesWork with XML schemas: build documents, validate them, debug rejections from the authorityDesign background jobs: import pipelines, outbox-based sync workers, retries, idempotencyInvestigate production issues independently across services (logs, queues, database)Keep tenant isolation and authorization intact in everything you touchReview code and mentor junior developers
What we are looking for
3+ years professional C#/.NET, including ASP.NET Core APIsSolid EF Core and relational DB skills (PostgreSQL preferred): migrations, indexing, query performanceAngular + TypeScript + RxJS, comfortable with forms, tables, reusable components; signals a plusMessage-based / asynchronous processing (RabbitMQ or similar): at-least-once delivery, idempotency, retriesUnit and integration tests as part of "done" (xUnit, Moq)Comfortable integrating third-party APIs (REST, SOAP) and reading XML/XSDCan debug a distributed issue on your ownGit/PR workflow, gives useful code review
Nice to have
E-invoicing, Peppol, UBL or any tax-authority integrationMulti-tenant SaaSDocker Compose, GitLab CI, VaultFile-based integrations (SFTP, CSV)Auth: JWT, FIDO2/passkeys, RBACNx monorepos, Playwright
What we offer
Salary range between 7000 and 11000 RON (net), depending on experienceHybrid working environmentMeal ticketsMedlife Gold private medical insuranceEnd of year bonusPerformance bonusAccess to courses for continued professional development
Our hiring process
We keep it short and transparent:
Intro call to talk about your background, the role, and what you are looking for.Take-home assignment, described below.Technical discussion (around an hour) where we go through your assignment together.Final conversation with the team, and an offer.
About the take-home assignment
The assignment is a small full-stack task scoped to around 4 hours: a .NET API that accepts invoice-like records, a background worker that processes them from a queue (idempotent, with retries), and a small Angular page that shows the outcome.
We care about how you structure and test it, not about polish.
You have one week to hand it in.