muups
Integrations

Pull the invoices. See the cash. Skip the spreadsheet.

Three integrations ship today, each with a full setup walkthrough and scoped, read-only permissions. Eleven on the roadmap, ranked by customer demand. No black-box connectors, no surprise scopes.

Available now

CSV / Excel

Available now

The path of least resistance — drop a sheet, get sequences.

How it works. Drag-and-drop ingestion for .csv, .xlsx and .xls exports from any ERP that can produce one. We accept QuickBooks, Stripe, Pennylane, Sage and most accounting tool exports out of the box.

  • Dedupes on your external_ref so re-uploading is safe.
  • Validates the row shape; invalid rows surface for review before commit.
  • Auto-detects the columns we need (debtor, amount, currency, due date) across common ERP schemas.
  • Currency-aware: USD, EUR, GBP and ten others handled natively.
We read
  • Invoice rows from the file you upload
  • Customer name + email per row
  • Amount, currency, due date, optional reference
We never touch
  • Anything in your accounting tool that isn't in the file
  • Bank or card data
  • Customer PII beyond the invoice contact
Set it up
  1. 1Settings → Sources → Add CSV/Excel.
  2. 2Drop your .csv or .xlsx. The first 10 rows render for a preview.
  3. 3Map columns once — debtor, amount, currency, due date. Saved per source.
  4. 4Commit. Validated rows land in your inbox, ready for sequencing.

Requires · No external connection. The file is uploaded over TLS and processed in our EU region.

Stripe

Stripe

Available now

Pull overdue invoices automatically, stop sequences the moment a customer pays.

How it works. Standard Stripe Connect. muups asks for the read scope that lets us list open + overdue invoices and listen for the invoice.paid event — nothing else.

  • One-click OAuth from Settings; we never see your secret key.
  • Daily sync imports every Stripe invoice with status open and a past due_date.
  • When Stripe fires invoice.paid for a connected account, muups flips the muups invoice to recovered and stops the active sequence within seconds.
  • Refunds + disputes flow through to the corresponding muups invoice too.
We read
  • Open + overdue invoices on the connected account
  • invoice.paid · invoice.payment_failed · charge.refunded · charge.dispute.created events
  • Customer name + email associated with each invoice
We never touch
  • Stripe payouts permission (can't move money)
  • Customer card / PII beyond invoice contact
  • Other Stripe products: Treasury, Issuing, Capital, Atlas — none requested
Set it up
  1. 1Settings → Sources → Connect Stripe.
  2. 2Stripe's OAuth flow opens in a new tab; choose the account to connect.
  3. 3Confirm the read-only scope set. Stripe returns you to muups with the connection live.
  4. 4Within ~30s the first sync runs — overdue invoices land in your inbox, ready for sequencing.

Requires · Stripe account on the Standard Connect platform. Both test and live modes supported.

Bank sync

Available now

Match incoming wires + ACH to invoices — without manual reconciliation.

How it works. Read-only bank access. We get incoming transactions and match them against your open invoices by amount, currency, reference and date.

  • Your bank's own login handles auth; we never see your banking credentials.
  • We pull new transactions on a regular sync; confirmed matches flip the invoice to recovered.
  • Ambiguous credits surface for one-click confirm — never auto-applied.
  • Disconnect from Settings and the encrypted access token is deleted on the spot.
We read
  • Transactions on the linked account (incoming credits matter; outgoing ignored)
  • Account balance for sanity-checking
  • Account holder name (used as a match signal only)
We never touch
  • Your banking credentials — they stay inside your bank's own auth flow
  • Any payments / transfers initiation surface — we can't move money
  • Account history older than the muups install date
Set it up
  1. 1Settings → Sources → Connect bank.
  2. 2Choose your bank and authenticate inside the bank's own flow.
  3. 3A read-only access token comes back; we encrypt it before it touches our DB.
  4. 4Sync starts immediately. First matches usually appear within 24 h of activity.

Requires · A bank account supported for read-only transaction sync. US + several EU markets live today.

Coming soon

What customers ask for, we build.

We pick the next integration based on actual demand. If yours is on the list, request it below — that bumps it up.

  • QuickBooks
    QuickBooksPull AR, reconcile on payment.
  • Xero
    XeroSync invoices and payment status.
  • N
    NetSuiteMid-market ERP, invoice + cash app.
  • HubSpot
    HubSpotPull invoices linked to deals.
  • S
    SalesforceSync AR off opportunity stage.
  • Sage
    SageSage 50 / 200 exports + sync.
  • F
    FreshBooksLightweight invoicing, native pull.
  • Zoho
    Zoho BooksZoho One-friendly invoice sync.
  • G
    GoCardlessDirect-debit + invoice events.
  • PayPal
    PayPalMatch PayPal payouts to invoices.
  • C
    ChargebeeSubscription-billing AR feed.
Don't see your stack?

We pick the next batch based on actual customer demand. Tell us yours and we'll bump it up the queue.

Request an integration
Integration FAQ

The honest small print.

Quick reads, no slippery wording. If yours isn't covered below, we're one email away.

Talk
Reach a real person
Reply within one business day.
Because your bank's own login flow handles the auth, not us. You authenticate inside your bank's UI; we receive a read-only access token afterwards — never your username, password, MFA code or anything that could be used to log into your bank.
No. Stripe is connected with the invoice/event read scope only; the bank connection is transactions read-only. There is no Stripe payouts permission, no ACH or wire initiation surface anywhere in the muups codebase.
The encrypted access token is deleted from our database on the spot. Stripe's side is invalidated via the standard deauthorisation flow; the bank connection is dropped from our end too. Associated transaction records follow the retention window published in our Privacy Policy.
Yes — that's the recommended setup. Stripe catches anything paid via Stripe; the bank connection catches the rest (wires, ACH from outside Stripe, customer ACH from their portal). Most teams use both.
Yes. There's no row cap on a single upload; we've ingested ten-thousand-row sheets without trouble. Just make sure your external_ref column is populated — that's what we dedup on, so re-uploading is safe.