Search
Getting Started Invoice sending Invoice sending Consumer Invoicing Printing Email invoicing Invoice receiving Invoice receiving Scanning Detect Fraud reporting Integration tools Webhooks Reference implementations Maventa Connector Embeddable User Interface Peppol Peppol Network Document Exchange Invoice Response Self-billing support Invoicing formats Invoicing formats Validation Peppol BIS 3.0 Finvoice 3.0 Document types and type codes Preview Maventa JSON (table) Preview Maventa JSON (json schema) Account management Companies and Settings Department Company Users Billing Accounts receivable Accounts receivable Ropo Reminder & Collection Amili Kassavirta Amili Perintä

Reference implementations

Maventa provides reference implementations for Java and C# to help you get started with the REST API. These projects demonstrate common integration patterns — from authentication and account setup to invoice sending, receiving, and webhook handling.

The reference implementations are examples, not production-ready libraries. Use them as a starting point and learning resource for your own integration, but don’t use them as-is in production. Review, adapt, and test the code to fit your specific requirements.

Available implementations

What they cover

Both implementations include examples for the most common integration tasks:

Getting started

To use either reference implementation, you need:

Both projects include setup instructions and environment variable configuration in their README files. The client code follows the same structure as the Swagger documentation, so finding the right method for an API endpoint is straightforward.

If you don’t have API keys yet, see the Getting started page for instructions on how to set up your integration credentials.

How the clients work

The client wrappers organise API endpoints into a namespace structure that mirrors the REST API paths. For example, /v1/company/settings maps to client.company.settings in both implementations.

JavaC#
MaventaConfigBuilder builder = new MaventaConfigBuilder()
    .autoXchangeBaseUrl("https://ax.maventa.com")
    .validateBaseUrl("https://validator-api.maventa.com")
    .userApiKey("your-user-api-key")
    .companyUuid("your-company-uuid")
    .vendorApiKey("your-vendor-api-key")
    .authScopes("eui global company");
Config config = builder.build();
MaventaApiClient client = new MaventaApiClient(config);
var config = new Maventa.RestApi.Config()
{
    AutoXChangeBaseUrl = "https://ax.maventa.com",
    ValidateBaseUrl = "https://validator-api.maventa.com",
    UserApiKey = "your-user-api-key",
    CompanyUuid = "your-company-uuid",
    VendorApiKey = "your-vendor-api-key",
    AuthScopeString = "eui global company"
};
var client = new Maventa.RestApi.ApiClient(config);
Back to top

AI Chat Support 24/7

  • Get help via AI chat available 24/7 whenever it suits you
  • Chat extensively uses Maventa support pages, websites, and blogs in its answers
  • If you need assistance that the AI cannot provide, you can also ask a customer service agent to join the conversation
  • Support requests processed Monday to Friday
Cancel Open chat

Got feedback?

Did you not find what you were looking for? Or was something explained unclearly? Or just want to share your thoughts? We are happy to hear your feedback!

Note: This form is not a way to get support, this is only for feedback for the documentation website. If you need support, please contact Maventa support.

Integration Guide Services & Reach API Specification Changelogs Integration guide Getting Started Invoice sending Consumer Invoicing Printing Email invoicing Invoice receiving Scanning Detect Fraud reporting Webhooks Reference implementations Maventa Connector Embeddable User Interface Peppol Network Document Exchange Invoice Response Self-billing support Invoicing formats Validation Peppol BIS 3.0 Finvoice 3.0 Document types and type codes Maventa JSON (table) Maventa JSON (json schema) Companies and Settings Department Company Users Billing Accounts receivable Ropo Reminder & Collection Amili Kassavirta Amili Perintä Services and reach Maventa services and reach e-invoicing in Finland Mass Printing Service e-invoicing in Sweden e-invoicing in Norway e-invoicing in Denmark e-invoicing in the Netherlands e-invoicing in Belgium e-invoicing in Germany e-invoicing in Estonia e-invoicing in Latvia e-invoicing in Poland e-invoicing in Italy e-invoicing in France e-invoicing in Spain Api specification API overview Getting Started Common & authentication API Invoices API Documents API Companies & settings API Lookups API Detect API Validator API Receivables API Billing API Scanning API B2CFI API B2CNO API B2CSE API Partner API Getting Started API Methods Overview Account Configuration API Methods Invoice Sending API Methods Invoice Receiving API Methods B2C Norway API Methods B2C Finland API Methods Other API Methods Changelogs Product changelog Developer Changelog
Clear Send

Enter your credentials to Maventa testing environment, to authenticate and try things out with the Swagger UI. This will fetch a Bearer token using OAuth2 with the endpoint POST https://ax-stage.maventa.com/oauth2/token. The token is stored in your browser's session storage (cleared when you close the tab) and used in Swagger calls done from this documentation website. The token is valid for 1 hour.

Never use your production credentials here. This is only for testing the Maventa test environment in the Swagger UI.
Reset All None
eui global company lookup document:receive document:send invoice:receive invoice:send company:read company:write validate receivables:assignments analysis billing:reports partner:invoice_delivery_actions partner:lookups partner:takeovers partner:lyanthe_scan_service fi_bank_message:send fi_bank_message:receive
Cancel Sign In