Invoices
Create, Send, and Track Invoices with eFactura Built In
Create an invoice, send it to your client, and connect the contract, receipt or bank transaction that belongs with it. For Romanian e-Factura, use the configured ANAF connection.
Send your first invoiceFree account, no card needed.
THE INVOICING ADVANTAGE
Keep the invoice and its next steps together
Create the document, send it, and follow what happens next.
Create invoices with your numbering and configured tax rules, in a structured editor that checks them before you send. Send the invoice to the client, use the ANAF connection for Romanian e-Factura when needed, or export a file for your accountant.
The contract, receipt and bank transaction that belong with an invoice stay beside it, so your team sees what has been issued and which payments still need attention.
-
Your numbering, checked
Prefixes like INV or RO-2025 with numbers that count up on their own, and tax and numbering you review before the invoice goes out.
-
Any currency, the client's language
Bill international clients in their currency, with a translation of the invoice in their language.
-
Connected to what it settles
Link the contract, receipt or bank transaction that belongs with the invoice. Card payments through your Stripe account mark it paid on their own.
-
Reuse past invoices
Reuse an invoice to bill a recurring client or a repeat order without retyping it.
-
Find any invoice
Search, tags and filters by client, status, tag or amount, even months later.
FULLY CONNECTED
Connect Your Romanian Invoices to ANAF
For Romanian organizations, Network Exchanges connects Enlivy to ANAF eFactura. Review incoming invoices and submit outgoing ones manually or on a configured schedule. For other markets, download a supported electronic invoice file and use the appropriate submission channel.
Explore Network ExchangesCreating an Invoice is Easy
Create and send an invoice in minutes. Seriously.
Your fiftieth invoice this month is as simple as your first. From smart defaults to built-in validations and ready-to-send PDFs, everything is designed for speed and accuracy, without extra steps.
-
Start from the Invoices section
From the main dashboard, go to Invoices in the left menu and click Add Invoice. You’ll then choose between two types:
- Internal Invoices: created in Enlivy for services or products you provide.
- External Invoices: logged manually or imported from other tools.
-
Set the basics
Input key invoice information such as:
- Direction (outgoing or incoming)
- Issue date and due date
- Prefix and invoice number
- Payment method and bank account
- Sender and receiver (select users or companies involved)
-
Add invoice items
Define what you’re invoicing:
- Products or services
- Units and quantities
- Product type: service, physical, digital, bonus or penalty
- Unit prices, discounts and the tax class and rate for each line
-
Your invoice is ready
Once saved, the invoice is ready: download its PDF, email it to the client from Enlivy, reuse it for the next one, or refund it with a credit note.
Proposals, contracts, invoices and payments
Create your first invoice today
Start invoicing smarter and faster with Enlivy.
Free to start · No credit card required · ANAF e-Factura for Romanian companies invoicing Romanian clients
IN THE READER'S LANGUAGE
Issued in your language, with a translation in the recipient's
Use translated product and line wording where it has been provided. Issued invoices keep a snapshot of that wording, so later catalog edits do not rewrite their history.
{
"en": "Invoicing",
"ro": "Facturare",
"de": "Rechnungsstellung",
"fr": "Facturation",
"nl": "Facturatie",
"da": "Fakturering"
} | English | Invoicing | / month |
|---|---|---|
| Română | Facturare | / lună |
| Deutsch | Rechnungsstellung | / monat |
| Français | Facturation | / mois |
| Nederlands | Facturatie | / maand |
| Dansk | Fakturering | / måned |
The same _lang_map system that powers products.
See the Big Picture, Instantly
All your invoice insights, built right into your dashboard.
-
Know what’s coming in
See exactly who paid you, who hasn’t, and how much you’re owed this month, or any custom period. Visual widgets help you filter by client, status, month, or year.
-
Track what’s going out
View outgoing payments tied to your invoices. See which vendors you’ve paid, how much, and when, all without leaving the dashboard.
-
Plan with precision
Filter your data by timeframe or category to quickly answer questions like: “How much did we bill last quarter?” or “Who hasn’t paid this month?”
-
Stay one step ahead
Use invoice data as a launchpad: send reminders, reconcile payments, or drill into client-level stats, without jumping between tools.
Easily Connect Bank Transactions to Your Invoices
Link each payment to the invoice it settles.
Forget ticking off payments in a spreadsheet. In Enlivy you link each bank transaction to the invoice it pays, so the payment sits next to the document.
-
Smart Matching, Simplified
Quickly assign each transaction to its matching invoice, payslip, or transfer.
-
From Transaction to Context
Every payment has a purpose, connect it to the right document in seconds.
FULL AUDIT VISIBILITY
Invoice Event Trail: A Complete Record of Every Change
Every action taken on an invoice is recorded automatically: who created it, who changed a line item, who updated the status, and when. The full history is always there, timestamped and attributed.
-
Every event captured automatically
Created, updated, finalized, status changed, line item changed. Every meaningful action on every invoice is logged the moment it happens, with no manual input required.
-
Who did it and from where
Each entry shows who performed the action and the origin: back office, client portal, scheduled task, webhook or system. You always know whether a change was made by a person or triggered automatically.
-
Timestamped to the minute
Every entry carries the exact date and time it occurred. Reconstruct the full timeline of any invoice from creation to finalization at any point.
-
System actions included
Automatic events like scheduled finalization are logged under "System." Even changes no one manually triggered are visible and explained.
-
One click to the invoice
Every entry in the trail links directly to the invoice it refers to. Go from the log to the document in one click.
RELIABILITY AFTER THE SEND
Keep numbering and exchange status accountable
Document numbering is guarded as an invoice is issued. When an e-invoicing connection returns after an interruption, the exchange path can pick up invoices it missed. The invoice record shows its current state so the team can check what still needs attention.
Proposals, contracts, invoices and payments
Create your first invoice today
Start invoicing smarter and faster with Enlivy.
Free to start · No credit card required · ANAF e-Factura for Romanian companies invoicing Romanian clients
API Reference
Invoice Management from the API
Integrate directly with Enlivy through our public API for programmatic access to your account data: invoices, receipts, transactions, products, users, contracts, and more.
The examples below cover the most common invoicing operations: listing invoices, retrieving a single invoice, creating a new one, and updating existing invoice data.
Display a list of recent invoices in your dashboard. Query invoices for your organization with pagination, filters, and metadata. You can also expand invoice details such as line items and taxes.
/organizations/<organization_id>/invoices curl -G 'https://api.enlivy.com/organizations/<organization_id>/invoices' \
--data-urlencode 'page=1' \
--data-urlencode 'limit=20' \
--data-urlencode 'include=invoice_prefix,tag_ids,line_items,taxes' \
--data-urlencode 'include_meta=navigation' \
-H "Authorization: Bearer $ENLIVY_API_TOKEN" \
-H 'Accept: application/json' const baseUrl = "https://api.enlivy.com" ;
const token = process.env.ENLIVY_API_TOKEN;
const organizationId = "<organization_id>";
const query = new URLSearchParams({
page: "1",
limit: "20",
include: "invoice_prefix,tag_ids,line_items,taxes",
include_meta: "navigation",
});
const result = await fetch(`${baseUrl}/organizations/${organizationId}/invoices?${query}` , {
method: "GET",
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json" ,
},
}).then((response) => response.json());Retrieves detailed information about a specific invoice within your organization. Use this to access invoice data such as totals, line items, status, taxes, tags, and more.
/organizations/<organization_id>/invoices/<invoice_id> curl -G 'https://api.enlivy.com/organizations/<organization_id>/invoices/<invoice_id>' \
--data-urlencode 'include=invoice_prefix,tag_ids,line_items,taxes' \
-H "Authorization: Bearer $ENLIVY_API_TOKEN" \
-H 'Accept: application/json' const baseUrl = "https://api.enlivy.com" ;
const token = process.env.ENLIVY_API_TOKEN;
const organizationId = "<organization_id>";
const invoiceId = "<invoice_id>";
const query = new URLSearchParams({
include: "invoice_prefix,tag_ids,line_items,taxes",
});
const result = await fetch(`${baseUrl}/organizations/${organizationId}/invoices/${invoiceId}?${query}` , {
method: "GET",
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json" ,
},
}).then((response) => response.json());Creates a new invoice under your organization. You can include detailed data such as sender and receiver users, invoice prefix, currency, line items, and more.
/organizations/<organization_id>/invoices # source (internal), direction (outbound) and type (standard) take their defaults when left out.
curl -X POST 'https://api.enlivy.com/organizations/<organization_id>/invoices' \
-H "Authorization: Bearer $ENLIVY_API_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"organization_receiver_user_id": "<org_user_receiver_id>",
"status": "draft",
"currency": "EUR",
"payment_method": "bank_transfer",
"delivery_method": "email",
"line_items": [
{
"name_lang_map": {
"en": "Web Development Services"
},
"quantity": 10,
"price": 75,
"type": "service",
"organization_tax_class_id": "<tax_class_id>"
}
]
}'const baseUrl = "https://api.enlivy.com" ;
const token = process.env.ENLIVY_API_TOKEN;
const organizationId = "<organization_id>";
// source (internal), direction (outbound) and type (standard) take their defaults when left out.
const result = await fetch(`${baseUrl}/organizations/${organizationId}/invoices` , {
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json" ,
"Content-Type": "application/json" ,
},
body: JSON.stringify({
// the customer the invoice is issued to
organization_receiver_user_id: "<org_user_receiver_id>",
// draft | pending | sent_email | paid | ...
status: "draft",
currency: "EUR",
// bank_transfer | card_payment | cash | ...
payment_method: "bank_transfer",
delivery_method: "email",
line_items: [
// or send organization_product_id to bill one of your products
{
name_lang_map: { en: "Web Development Services" },
quantity: 10,
price: 75,
type: "service",
organization_tax_class_id: "<tax_class_id>",
},
],
}),
}).then((response) => response.json());Update an existing invoice’s content such as its status (e.g. issued, paid, canceled), payment method, due date, number, tags, notes, and product lines.
/organizations/<organization_id>/invoices/<invoice_id> curl -X PUT 'https://api.enlivy.com/organizations/<organization_id>/invoices/<invoice_id>' \
-H "Authorization: Bearer $ENLIVY_API_TOKEN" \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"status": "paid",
"payment_method": "bank_transfer",
"due_at": "2026-07-31T09:00:00Z"
}'const baseUrl = "https://api.enlivy.com" ;
const token = process.env.ENLIVY_API_TOKEN;
const organizationId = "<organization_id>";
const invoiceId = "<invoice_id>";
const result = await fetch(`${baseUrl}/organizations/${organizationId}/invoices/${invoiceId}` , {
method: "PUT",
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json" ,
"Content-Type": "application/json" ,
},
body: JSON.stringify({
// partial update, only the fields you send are touched
status: "paid",
payment_method: "bank_transfer",
due_at: "2026-07-31T09:00:00Z",
}),
}).then((response) => response.json());Where it fits
Part of these setups
- Agencies and studios Core part Numbered with your own series, in the client's currency. See the setup
- Course authors Core part Your own numbering and tax settings, emailed from your mailbox. See the setup
- Monthly billing Core part Numbered with your own series, emailed from your mailbox, in your client's currency. See the setup
- Sales teams Core part Issued from the deal record, with your numbering and the accepted figures. See the setup
Works together with
- Network Exchanges For Romanian organizations, connect ANAF eFactura to receive invoices and submit the ones you issue to Romanian clients, manually or on a configured schedule. See the exchange status in Enlivy. For other markets, download a supported electronic invoice file for review and separate submission.
- Receipts Record money in and money out, keep supporting files together, and connect a receipt to its related invoice or contract when needed.
- Taxes Stop picking VAT rates by hand. Assign a tax class to a product or invoice line and Enlivy resolves the correct rate automatically, based on who the customer is and where they are, with the right EU codes for e-invoicing built in.
- Document Intake Start with a document, choose where it belongs and review the form; an AI reading you request can suggest its details.
- Dashboard See the work and numbers that matter to you, then customize the dashboard by adding and arranging available widgets.
- Tasks Keep team work beside the invoices, prospects and projects it concerns. Tasks are included for every organization at no extra charge, with no separate Tasks subscription or task-count quota.
- Payslips Your accountant works out the figures. Enlivy is where they land: every amount on its own coded line, in the vocabulary your country actually uses, checked against the payslip's own totals and tied to the employment, the contract and the payment it belongs to.
- Data Export Export your invoices, receipts, payslips, contracts, and transactions in the format and folder structure your accountant expects, for any date range. Built in, at no extra cost, on every plan.
- MCP Connect Enlivy to Claude, ChatGPT, Cursor, or any AI assistant through MCP. Ask about your invoices, contracts, and pipeline, and get real work done, safely scoped to exactly what your own account can already do.