Our own product · SaaS
Cord
From proposal to payment. All in one link.
Quote in Excel, email a PDF, chase the signature and re-type everything to invoice. That is how most business-to-business sales close. We built Cord so the quote becomes the system: one link the client reviews, approves and pays, and where collection and invoice come from without re-typing anything.
- What it is
- Flouvia’s own product
- Since
- June 2026
- Where
- 12 countries · 5 languages
On the client’s side
One link, end to end.
- 01
Opens the link
No account: the link carries a 128-bit token and is never indexed. A view only counts when a person opens it; WhatsApp or Slack previews and your own clicks don’t mark it.
- 02
Reviews every line
Their negotiated price next to list price, taxes and withholdings per line, terms from cash to 90 days and a deposit. They comment on any line or counter-offer; if you change the quote, Cord tells them before they can approve.
- 03
Approves
Types their name and approves everything or just some lines. A single SQL statement checks version, validity and status, and seals the approval with a SHA-256 fingerprint of what was accepted, their name and IP.
- 04
It’s approved
You hear about it instantly by email, Slack, Teams or webhook, and the same link takes payment: card, SPEI or Mercado Pago, by country, with deposit and balance as separate charges. The invoice follows in one click.
Everything between the proposal and the payment.
Sixteen modules working on the same quote, so nothing is typed twice.
- Editor Their price
A negotiated price per client that keeps the list price, tax per line by country and kits with a bundle price.
- Public link No sign-up
The client reviews, approves and pays from a link with your logo and colour, in their language.
- Tracking Live
When a person, not a bot, opens it, how many times and how long they spend on each section.
- Negotiation By line
Approve all or some lines, threads per line and counter-offers; every version is kept apart.
- Approvals Margin
Discounts, amounts or margins outside your policy ask for sign-off, from Slack too.
- Payments 12 countries
Cord Payments on Stripe Connect in seven countries and Mercado Pago in six, from the quote or the invoice.
- Currencies 14
European Central Bank rate with two fallbacks, frozen for 30 days when quoting; with no real rate, there is no quote.
- Invoicing By country
CFDI 4.0 in Mexico, European EN 16931 invoicing (Factur-X, XRechnung and the Peppol file) and Verifactu in beta in Spain.
- Client portal By currency
Each client sees all their invoices and their balance in each currency, and pays several at once.
- AI collections 2–6 installments
The agent drafts collections and proposes a plan the client accepts from their link; you approve each email or let it run.
- Clients & credit 5 bands
Balances by age, credit limits, terms up to 90 days and Silver, Gold and Distributor tiers.
- Finance 90 days
Your projected cash over thirteen weeks, weighted by what each client usually closes.
- Reports 15 reports
Sales, collections and performance per seller, with an explorer of its own; save them and schedule them.
- Workflows 46 events
Triggering sixteen actions with conditions, waits and approvals, from a task to a HubSpot note.
- Integrations 13 apps
HubSpot, Slack, Teams, WhatsApp Business, Zapier, Make and n8n, among others.
- Team 10 permissions
Custom roles, two-step verification required if you want it, passkeys and SAML 2.0 SSO.
Under the hood.
Every organization is isolated in the database and every change ships with tests: about 4,800 cases, 96 files of them in SQL against the real schema, and 29 security and contract checks.
- 175
- tables
- 135
- with per-organization security (RLS)
- 345
- API files
- 440
- test files
Repository figures as of October 19, 2026, after 1,615 commits since June 10.
Astro · React · Neon Postgres (RLS) · Stripe Billing & Connect · Mercado Pago · Facturapi (CFDI 4.0) · Verifactu · Resend · Anthropic (Claude) · PostHog · Vercel
For developers: a REST API with OpenAPI 3.1, signed webhooks, an MCP server with 28 tools, Elements, a CLI, the Node SDK and Workbench.
How it’s built.
What we designed and built beneath the interface: the part you don’t see, which keeps each business’s money, taxes and data from mixing or doubling up.
- 01
One organization, one lane
Every query runs in one of five declared lanes that pin the organization inside the transaction. Postgres enforces row-level security and the app connects with a role that can’t bypass it; a lint checks that no query runs outside a lane.
- 02
Money never charged twice
Every route that moves money meets four guarantees: its lane, its own rate limit, a deterministic idempotency key and no raw provider error in front of the client. A check derives those routes from the code and fails if any falls short.
- 03
One tax engine
The same calculation for the quote, the invoice and the embedded components: tax per line, withholdings such as Mexican VAT, ISR or Spanish IRPF, and rounding per line or per document, by country.
- 04
Each country’s invoice
CFDI 4.0 stamped with each business’s own seal; Factur-X and XRechnung checked against the official validators; Verifactu over our own link to Spain’s tax agency, in beta. Brazil, Argentina, Chile, Colombia and Peru are built and switch on country by country.
- 05
Events that always arrive
A durable outbox retries every webhook eleven times over 3.6 days, signed with timestamped HMAC-SHA256. The 29 scheduled jobs claim their period before running: a double trigger never sends anything twice.
- 06
AI with guardrails
Eight features on Claude, from collections to the public estimator. The model never sees the debtor’s name, email or phone, every email says it was drafted by AI, and the MCP server’s tools that act outside Cord wait for a person to approve them.
- 07
Identity of its own
Authentication built in-house: Argon2id, Google and Apple, passkeys, TOTP, SAML 2.0 with XSW defences and step-up re-authentication for sensitive actions. Secrets encrypted with AES-256-GCM and rotating keys; API keys are stored only as hashes.
- 08
An open platform
A date-versioned REST API with 34 operations and its OpenAPI generated from the same schemas, 41 webhook events, a sandbox with simulators, a CLI, a zero-dependency Node SDK and Elements: the quote and the invoice as Web Components.
How it started.
-
2025
El Zarco’s B2B system
For a wholesale distributor we built a B2B portal with online quotes.
-
Then
A Shopify app
That piece became “Flouvia Cotizaciones B2B”, the app for any store that sells to businesses.
-
June 2026
Cord
The quote stopped being an add-on. Ten days from first commit to production, with real CFDI 4.0 and per-line approval.
-
July 2026
Payments and Elements
Cord Payments on Stripe Connect, and the quote as a Web Component: Elements 1.0 came out of integrating it at El Zarco.
-
August and September
Twelve countries
Tax per line and per country, in-house authentication, Workflows, Mercado Pago, HubSpot, Shopify, QuickBooks and Xero.
-
October 2026
The fiscal layer
European e-invoicing, Verifactu, the Node SDK, OpenAPI 3.1 and Postgres enforcing each organization’s isolation.