Get startedConnect your sales
Get started
Connect your sales
Add the platforms you earn on, from Stripe and Shopify to Patreon and ad networks: keys, sign-ins and webhooks, and what makes a source Verified.
odo adds up everything you earn, wherever you earn it, in one live number. Each place you earn is a source.
Add a source#
Open Settings → Add a source and pick the app: Stripe, PayPal, Shopify, Patreon, Gumroad, Ko-fi, Lemon Squeezy, Tebex, YouTube, AdSense, the App Store and many more. Each shows its own steps. They come in a few kinds:
- Read by odo. Apps with an official API are read by odo’s server, with a key you paste or a sign-in you approve. These can be Verified.
- Webhooks. Apps that send each payment as it happens (Ko-fi, say) get a secret address of their own,
https://odo.gg/api/hooks/<source>/<secret>, to paste into the app. - Anything else can send its sales through Zapier, Make, n8n, Pipedream or IFTTT to a Custom webhook, or come in as a CSV export.
- Your own server can send payments with a project API key, or answer odo at an address of its own (Your API: odo asks it for each day’s revenue).
A new source imports about 400 days of history, then keeps up: Stripe every minute, most others every few minutes. Keys are encrypted at rest and only ever used by odo’s server.
Verified or self-reported#
Every source has a tier, and a badge only while it’s true.
| Tier | How it’s connected | Badge |
|---|---|---|
| Verified | odo’s server reads the platform itself: Connect with Stripe, or an official API key | A blue seal |
| Self-reported | Webhooks, your own API, CSV imports, demo data, Stripe’s test mode | None, ever |
The seal also needs a working connection that synced in the last 6 hours, and each platform account backs one odo profile only, the first to connect it, so connecting a friend’s account doesn’t borrow their seal. The business name the platform reports shows beside it: Verified via Stripe · Racing Green Motors.
Stripe#
Connect with Stripe approves read-only access on Stripe’s own page. It’s Verified, and it can already read what tracing sales to visits needs.
Or paste a restricted key (Stripe → Developers → API keys → Create restricted key) with Balance: Read to count earnings. To trace each sale to its visit, also give it read access to Charges, Customers, Invoices, Subscriptions and Checkout Sessions. A secret key works too, but it can do far more than odo needs.
odo counts charges and application fees, less refunds and disputes; net takes off Stripe’s fees too. Payouts, transfers, top-ups and reserves move money you already earned, so they’re left out.
One currency, your clock#
Every source is converted to your display currency at the European Central Bank’s rates, and days turn over at midnight in your time zone. Settings → Display → Count chooses what earnings mean: gross (what customers paid, after refunds) or net (after fees too).
Projects#
Sources belong to a project: one business, with its own sources, websites, look and people. Global adds every project up. Put a website and its payment sources in the same project, and odo can trace the sales to the visits. More in projects, team and roles.