# Load your billing data via API

The Fincome API allows you to import and manage the data from your Fincome account. It is accessible from the interface (Settings menu > Developer API), where you can create a secret key for authentication.

By sending your data in JSON format via our dedicated endpoints, you can leverage all Fincome analyses (MRR, ARR, churn, revenue recognition...) as if your data came from a native integration.

This method is particularly useful if:

* you manage your invoices in an internal ERP that is not connected,
* you want to automate imports without handling files,
* or if you are migrating from another billing system.

#### **Key recommendations**

**Expected format**\
Data must be sent in **standardized JSON**, complying with the schema required by Fincome.\
Each invoice must contain:

* a unique identifier,
* the ID of the associated customer,
* an issue date,
* a payment status (`open`, `paid`, `unpaid`),
* and a pre-tax amount.\
  Make sure to follow standard date formats (ISO 8601) and valid status values.

**Endpoints to use**

* `POST /invoices` → to create new invoices
* `POST /subscriptions` → to create or update the associated subscriptions

Each invoice must **reference an existing subscription and customer** in order to be correctly linked within Fincome.

**Concrete use case**\
For example, you can export the monthly invoices from your internal ERP in JSON format, then import them into Fincome via the API.\
Your revenue will thus be taken into account in Fincome even if your billing system is not directly connected.

{% hint style="info" %}
Note: Be sure to respect the *mapping* of required fields. Each record must include unique identifiers (to avoid duplicates), correctly formatted dates, consistent billed amounts, and statuses that conform to Fincome’s expectations. Correct mapping ensures your data will be imported without errors and analyzed correctly by the platform.
{% endhint %}

## API technical documentation

{% embed url="<https://docs.fincome.co/api>" %}

## Business case

At **Soeman**, the technical team chose to integrate Fincome via the API in order to simplify the management of financial data and provide management with a reliable, real-time view of its key KPIs: **ARR, MRR, churn, retention**.

> "We chose the API because it's simpler, automated and real-time. It saves us from manual imports via CSV files and allows our solution to automatically transmit the information."\
> — *Samuel Burey, Technical Manager at Soeman*

Thanks to this integration, Soeman automated the sending of its data, gained in reliability, and eliminated any manual handling.\
A concrete example of the power of the Fincome API for recurring-revenue businesses.

🔗 **Read the full testimonial:**\
[Case study – Fincome API integration at Soeman](https://www.fincome.co/fr/customers-stories/retour-experience-integration-api-de-fincome-chez-soeman)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.fincome.co/en/guide/connect-and-enrich-your-billing-data-via-the-fincome-api/load-your-billing-data-via-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
