Skip to main content
The API separates three steps and never lets one stand in for another.

What needs a person

Everything else (recording expenses and income, reading documents, reconciling proposals, payroll runs, affiliation requests) your platform does with its key.

Approval through Melso

1

Ask for the link

Call the object’s approval-link operation, such as Create a tax return approval link. The response carries approval_url and the version it shows.
2

Send it to the person

Show it in your product, or send it by email or notification. The person signs in to Melso and sees the exact version: every box of the return, every line of the invoice.
3

Hear the result

You receive tax_return.approved or invoice.issued. If the draft changed before the person decided, the page shows the new version and the earlier link no longer approves anything.
This flow is a live capability: it is how Melso’s app and its MCP server get approvals today.

Approval inside your product

Preview. Requires a partner agreement.
A platform that already shows the company’s finances can show the return itself and collect the approval there, with Attest an approval from your interface. You send the exact expected_version, who approved it and the evidence: when, from where, and the fingerprint of the document you showed. Melso records the attestation as that person’s approval and keeps the evidence with the filing. The partner agreement says who at the company may approve, how you authenticate them, and how long you both keep the evidence. A return whose version changed is refused, the same as on Melso’s page.

Filing

After approval, Melso’s professionals review the return and file it with the administration under the company’s mandate. They contact the company through a case if something is missing. Today the evidence lives on the return’s case: a case reaches done only with the administration’s external_reference, and the receipt is among its documents. The Melso API also copies it onto the return (preview), so a return is filed when its status is filed and filing holds the evidence:
approved is not filed, and an AEAT import file is not a filing. Show the company a return as filed only when filing.reference is present. A return the company filed by itself shows filed_by company.

Filing is not paying

Filing and paying follow different deadlines. A return paid by direct debit (domiciliación) must be filed by direct_debit_deadline, a few days before the filing deadline. Melso does not move the company’s money: the administration charges the account on file.