Gekko Costs - Receipt Scanner API integration (OCR & PSD2)

Compliant protocol analysis and production-ready endpoints for receipt OCR, PSD2 bank-transaction matching, and bookkeeping export — built for EU freelancer stacks.

From $300 · Pay-per-call available
OpenData · OpenFinance · OpenBanking · PSD2 · Receipt OCR

Connect Gekko Costs receipt and bank data to your accounting stack

We deliver protocol-level access to Gekko Costs: pulling OCR-extracted receipt fields (vendor, VAT, totals, date, line items), syncing PSD2 bank-transaction matches, and exporting bookkeeping-ready statements. Integrations follow Open Banking patterns and authorized-account access only.

Receipt OCR data export — Pull structured fields parsed from camera scans (merchant, amount, currency, VAT %, category, attachment URL) instead of scraping image-only PDFs.
PSD2 bank-transaction sync — Stream Gekko's matched bank transactions tied to receipts, including matched/unmatched status and the underlying counterparty IBAN.
Multi-tool roll-up — Extend the same auth flow to Gekko Invoicing, Gekko Hours, and Gekko Trips so a single freelancer record holds revenue, expenses, hours, and KM.
Bookkeeping deliverables — Hand off CSV / XLSX / XML / JSON exports compatible with Dutch accountants, Twinfield, Exact Online, and downstream BI dashboards.

What we deliver

Each Gekko Costs engagement ends in a runnable artifact rather than a slide deck. The drop typically includes an OpenAPI specification mapping the protocol surface, runnable Python and Node.js clients, a token-refresh helper, and an integration report describing the OAuth flow, the receipt OCR field set, and the PSD2 matching webhook contract.

For teams that already operate an ERP or general-ledger import job, we also ship a small adapter that converts Gekko expense and bank rows into your destination schema — for example flattening Gekko's nested receipt + matched-transaction structure into a single ledger line per expense.

Deliverables checklist

  • OpenAPI / Swagger spec for receipts, expenses, bank links
  • Protocol & auth report (OAuth, session, refresh, SCA)
  • Runnable Python & Node.js client libraries
  • OCR field reference (vendor, totals, VAT, line items, attachments)
  • PSD2 transaction-match webhook handler reference
  • CSV / XLSX / XML exporters for accountant hand-off
  • Compliance brief (PSD2 SCA + GDPR retention / minimization)

Recent app context (last 2 years)

Gekko's product team has shipped a restyled reports page and a from-the-ground-up rebuild of the mobile Trips experience, and added an "IB 2024" Dutch income-tax-return service so freelancers can book a tax-prep appointment directly from the same account that holds their scanned receipts. The team-member seat price was updated from €5 to €6 ex-VAT in 2025. These shifts mean a 2026 integration must read the newer reports endpoints rather than legacy ones, and account for invitation-flow changes when provisioning multi-user accountant access.

Data available for integration

The OpenData inventory below maps the most useful structured records inside Gekko Costs and the wider Gekko backend. Granularity reflects what surfaces in the mobile UI and through the documented bank-coupling pipeline; we map each row to a typical downstream business use so scoping conversations stay concrete.

Data typeSource / screenGranularityTypical use
Scanned receipt header Costs · "Add receipt" camera flow Per receipt: merchant, date, total, currency, VAT rate, category VAT pre-fill, automated bookkeeping entries, anomaly checks
Receipt line items (where OCR returns them) Costs · receipt detail Per line: description, qty, unit price, line total Granular cost-center allocation, project P&L breakdown
Receipt attachment Costs · attachments Original image / PDF + content hash Audit trail, tax-authority evidence pack
Bank transaction (PSD2 feed) Costs · bank coupling Per booking: amount, IBAN, counterparty, value date, narrative Cash-flow analytics, reconciliation, fraud signals
Receipt ↔ transaction match Costs · matching screen Pairing record + match score / state Auto-reconciliation rules, exception queues
Invoice records (cross-app) Gekko Invoicing Issue date, due date, customer, line items, paid status Revenue recognition, AR aging, dunning automations
Time and KM logs (cross-app) Gekko Hours / Trips Per entry: project, hours/km, billable flag Project margin, mileage reimbursement, utilization KPIs
Account / user metadata Gekko account on getgekko.com Profile, KvK number, tax settings, team members Multi-tenant fan-out, accountant white-label dashboards

Typical integration scenarios

Below are four end-to-end patterns we ship most often around Gekko Costs. Each names the data path, the business outcome, and how it maps to the OpenData / OpenFinance vocabulary so internal compliance reviewers can place the work cleanly.

1. Accountant receipt sync

A Dutch boekhouder onboards a freelancer client, then uses the integration to pull every newly scanned receipt nightly into Twinfield or Exact Online. Field path: /receipts?since=ISO → header + line items + attachment URL → mapped to a journal stub with VAT split. OpenData framing: structured-receipt export under explicit user authorization.

2. PSD2 reconciliation engine

A small services firm wants to know which expenses are still missing a bank-side counterpart. The pipeline subscribes to the Gekko bank-coupling webhook, joins it with the receipt store, and writes an "unmatched" queue into Slack. OpenFinance framing: PSD2 account-information service consumption, downstream transaction enrichment.

3. Multi-tool freelancer dashboard

A SaaS layered on top of Gekko aggregates receipts (Costs), invoices (Invoicing), hours (Hours), and trips (Trips) into one freelancer KPI view: realised revenue, deductible expenses, billable utilization, and km-deductions. Auth model: a single OAuth grant scoped across the Gekko app family, refreshed on a 14-day rolling window.

4. Tax-return evidence pack

For Dutch IB (income tax) returns, the integration assembles every receipt PDF, its OCR JSON twin, and the matched bank line into a single ZIP per fiscal year, plus a manifest CSV. Pairs cleanly with Gekko's own IB 2024 service for users who book the tax-prep appointment.

Technical implementation

The wrapper exposes three endpoint families: authorization, receipt data, and bank-link events. Below are representative payloads — actual field names follow the protocol-analysis report shipped in the deliverable, and your callers stay agnostic of how often Gekko rotates internal session shapes.

Authorization (OAuth + token refresh)

POST /api/v1/gekko/auth
Content-Type: application/json

{
  "client_ref": "tenant_42",
  "grant": "user_authorized",
  "scope": ["costs.read", "bank.read", "invoices.read"]
}

200 OK
{
  "access_token": "eyJhbGciOi...",
  "refresh_token": "rt_8c9...",
  "expires_in": 3600,
  "scope": "costs.read bank.read invoices.read"
}

Receipts list with OCR fields

GET /api/v1/gekko/receipts?since=2026-04-01&limit=50
Authorization: Bearer <ACCESS_TOKEN>

200 OK
{
  "items": [
    {
      "receipt_id": "rcp_01HX...",
      "captured_at": "2026-04-21T08:14:11Z",
      "vendor": "Albert Heijn",
      "total": {"amount": 1842, "currency": "EUR"},
      "vat": [{"rate": 9, "amount": 153}],
      "category": "groceries_business_meeting",
      "attachment_url": "https://.../rcp_01HX.pdf",
      "matched_tx_id": "tx_01HX..."
    }
  ],
  "next_cursor": "c_abc123"
}

PSD2 transaction-match webhook

POST https://your-app/webhooks/gekko
X-Gekko-Signature: t=...,v1=...

{
  "event": "receipt.matched",
  "receipt_id": "rcp_01HX...",
  "transaction": {
    "tx_id": "tx_01HX...",
    "iban": "NL91ABNA0417164300",
    "counterparty": "Albert Heijn 4321",
    "amount": -1842,
    "currency": "EUR",
    "booked_at": "2026-04-22"
  },
  "match_score": 0.97
}

# Verify HMAC, then upsert into your ledger.

Compliance & privacy

PSD2 + GDPR posture

Gekko's bank coupling rides on the EU's Revised Payment Services Directive (PSD2), which mandates Strong Customer Authentication and consent-scoped Account Information Service access. Our wrapper therefore stores only short-lived access tokens, rotates refresh tokens on each use, and never persists raw bank credentials. Personal data flows align with GDPR Articles 6 (lawful basis), 17 (right to erasure) and 32 (security of processing); receipt attachments stay in EU regions to keep the data-residency story clean.

Operational guardrails

  • Per-tenant token vault, no shared service credentials
  • Field-level allowlist before payloads leave the integration boundary
  • Audit log of every receipt and bank-transaction pull, with consent ID
  • Configurable retention for OCR JSON and original receipt images
  • Documented data-subject-request workflow (export & deletion)

Data flow / architecture

The pipeline keeps a small surface area: Gekko Costs mobile appGekko backend (EU)OpenFinance Lab integration gateway (auth, normalization, signing) → your ledger / data warehouse. PSD2 events arrive on a webhook bus rather than a polling loop, which keeps reconciliation latency under a minute for live freelancer accounts. A side branch streams normalized rows into BI (BigQuery / Snowflake / a Postgres lake) for analytics use cases that should not hit the operational ledger directly.

Market positioning & user profile

Gekko Costs targets European freelancers, ZZP'ers, and micro-SMEs — primarily in the Netherlands and adjacent EU markets — who need a fast camera-to-bookkeeping flow without paying for full-fat ERP. The user base skews toward independent professionals (consultants, IT contractors, creative freelancers, tradespeople) who want VAT-ready receipts and a clean Dutch IB tax return. Distribution is mobile-first across Android and iOS, with the web account at getgekko.com acting as the multi-device hub, which is why a clean OpenData layer over the same account is so valuable for accountant-tech and freelancer-fintech builders.

Screenshots

App screens that surface the data we expose through the integration — tap any thumbnail to open a larger view.

Gekko Costs screenshot 1 Gekko Costs screenshot 2 Gekko Costs screenshot 3 Gekko Costs screenshot 4 Gekko Costs screenshot 5 Gekko Costs screenshot 6 Gekko Costs screenshot 7 Gekko Costs screenshot 8

Similar apps & integration landscape

Receipt scanning and freelancer expense tooling is a crowded category. The apps below sit in the same broad ecosystem as Gekko Costs; teams often run two or three of them in parallel, which is exactly when a unified OpenData export layer pays off.

Expensify

SmartScan OCR and corporate-card receipt capture; integrating its export with Gekko receipts gives a single line-item view across personal and team spend.

FreshBooks

Cloud accounting with built-in receipt scanner — common pairing for English-speaking freelancers who also need Dutch VAT logic from Gekko.

QuickBooks Online

Receipt capture plus a full general ledger; teams often want Gekko receipts mirrored into QBO journals via a normalised expense schema.

Zoho Expense

OCR-driven employee expense reports popular with EU SMEs; a unified pull keeps freelancer side-projects on Gekko aligned with day-job Zoho data.

SparkReceipt

AI receipt categorisation aimed at small business owners; a useful complement when Gekko users want a second opinion on category mapping.

Wave Receipts

Free receipt OCR tied to Wave's bookkeeping; consolidating with Gekko's PSD2 bank feed produces a cleaner reconciliation queue.

Adobe Scan

High-quality document OCR without bookkeeping; pairs naturally with Gekko when users want archival-grade PDFs alongside Gekko's structured fields.

Mercury

US business banking with built-in receipt and bill management; helpful reference when designing a PSD2-equivalent bank-link surface for non-EU teams.

Smart Receipts

Open-source-leaning receipt tracker for trip and expense reports; surfaces overlap with Gekko Trips and Gekko Costs simultaneously.

Ramp

Card-led spend management with automatic receipt matching; a common destination for CFO-style dashboards that also ingest Gekko freelancer data.

About us

OpenFinance Lab is an independent studio focused on mobile fintech protocol analysis and OpenData / OpenFinance integrations. Our team includes engineers from EU banks, payment processors, and accounting platforms, so we know what it takes to ship integrations that pass an external compliance review the first time.

  • Bookkeeping, freelancer-fintech, and PSD2 specialists
  • Custom Python / Node.js / Go SDKs and test harnesses
  • End-to-end pipeline: protocol analysis → build → validation → compliance
  • Source code delivery from $300 — receive runnable API source code and full documentation; pay after delivery upon satisfaction
  • Pay-per-call API billing — access our hosted API and pay only per call, no upfront cost; ideal for teams that prefer usage-based pricing

Contact

For quotes, NDAs, or to submit a Gekko Costs integration brief (scope, expected volume, target schema), open our contact page:

Contact page

Engagement workflow

  1. Scope confirmation: which Gekko surfaces (Costs only vs. Costs + Invoicing/Hours/Trips) and which downstream system (Twinfield, Exact Online, custom ledger).
  2. Protocol analysis & auth flow mapping (2–5 business days).
  3. Build the wrapper, OCR field schema, and webhook handler (3–8 business days).
  4. Internal validation against a real freelancer test account, plus PSD2 sandbox bank.
  5. Documentation, exporter samples, and a compliance brief; pay on acceptance.

FAQ

What do you need from me to integrate Gekko Costs?

A signed-in Gekko account (or sandbox), the integration scope you want (receipt OCR fields, PSD2 bank-transaction matching, statement export), and any existing accounting/ERP target schema we should map fields into.

How long does delivery of the Gekko Costs integration take?

A first runnable drop covering login, receipt fetch, and one export format usually ships in 5 to 12 business days. Adding live PSD2 transaction-matching webhooks or multi-tenant freelancer fan-out can extend that timeline by another week.

How do you handle PSD2 and GDPR compliance for receipt and bank data?

We integrate only via authorized accounts or documented public/authorized endpoints, scope tokens to the minimum required (consent-based access under PSD2 SCA), keep receipt and bank payload logs in EU regions, and provide retention and revocation guidance aligned with GDPR Articles 6, 17, and 32.

Can the integration also pull from Gekko Invoicing, Hours, and Trips?

Yes. The same authorization flow can be extended to fetch invoices and payment status from Gekko Invoicing, time entries from Gekko Hours, and KM/trip logs from Gekko Trips, so a single sync pipeline produces a unified freelancer dataset.
📱 Original app overview (appendix)

Gekko Costs - Receipt Scanner is a free expense-management tool from Amsterdam-based Gekko aimed at freelancers and small entrepreneurs. Users scan paper receipts with the phone camera, an OCR pipeline parses the merchant, total, VAT and date, and the result is filed against the user's Gekko bookkeeping account at getgekko.com. The app stops the wallet from "exploding" with paper receipts that still need to be accounted for at tax time.

Since September 2020 the app supports a real-time PSD2 bank coupling: users authorize their bank inside the app, and incoming bank transactions can be copied directly onto a receipt — turning a manual reconciliation chore into a one-tap match. All data is stored over a secure connection on European servers, treated confidentially, and never shared with third parties without the user's explicit consent.

Gekko Costs is one node in the broader Gekko family for freelancers, alongside Gekko Invoicing (sending invoices and payment requests), Gekko Hours (time tracking) and Gekko Trips (KM and trip tracking). Together they form a complete bookkeeping system accessible from any device, billed as "accounting without hassle" — with a free online account on www.getgekko.com providing the unified back-office view.

Original feature list:

  • Scan receipts with the phone camera to digitize them
  • Automatically read receipts with OCR and import data instantly
  • Add digital receipts quickly to other expenses
  • Connect bank transactions and match expense receipts in real time
  • Real-time PSD2 bank integration (since September 2020)
  • European data hosting, GDPR-aligned privacy posture
  • Support contact: support@getgekko.com

Last updated: 2026-05-09