Invoice Simple: Invoice & Payment Data API
Invoice Simple: Invoice Maker is Invoice Simple's mobile invoicing app for freelancers, tradespeople and small businesses that need to bill clients from a phone. Users draft invoices and estimates with line items, tax, discounts and due dates, keep a client list, email or text the PDF, and collect payment by card (Stripe), PayPal, tap to pay on the phone, or a photographed check deposit. Recurring invoice series cover retainers and weekly jobs, a bookkeeping add-on links bank accounts for a 14-day trial, Acorn consumer financing can be offered on a bill, receipt OCR turns expense photos into categorized spend, and French e-invoicing setup collects SIRET and VAT for Peppol-style submission. The Android listing is rated 4.8 from about 149,000 reviews with 5 million-plus downloads. It sits with Wave, FreshBooks, Zoho Invoice and QuickBooks as a lighter, mobile-first alternative aimed at sole traders who send a handful of bills a week rather than run a full desktop ledger.
Outstanding invoices on the signed-in business are Invoice objects keyed by invoiceNumber and invoiceRemoteId, each carrying dueDate, balanceDue, amountPaid and line items (quantity, price, taxRate). A parallel Client directory stores clientName, clientEmail and billing address fields used both on new bills and on the per-client statement; estimates reuse the same totals with an estimateNumber until they convert. Card collection writes a paymentIntentId against the connected stripeAccountId, photographed checks post a checkScanToken and sit in checkDepositPending, and tap-to-pay resolves a Stripe locationId when eligibleForTtp is true. Recurring retainers live as RecurringInvoiceSeries rows with frequency and interval. Receipt OCR stores Expense rows with merchantName and totalAmount; French Peppol setup records eInvoicingSiret and eInvoicingVat.
AR and collections teams reconcile those balances nightly, practice-management tools assemble statement packs from the client list, a payments desk watches intents, check deposits and dispute counts beside the invoice they belong to, and a bookkeeper imports receipt spend next to retainer schedules. openData Studio turns that invoice, client and payout surface into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Open Parse session
POST
/v1/woinvoice/session/openopendataExchanges the business email and password for a sessionToken, objectId and installationId that gate every later invoice, client and estimate read.
Auth: Unauthenticated bootstrap. Body is username (or email) plus password. The returned sessionToken is sent as a session header on later invoice, client and estimate reads.
- username
- password
- objectId
- sessionToken
- installationId
- createdAt
- updatedAt
POST /v1/woinvoice/session/open HTTP/1.1 Content-Type: application/json { "username": "[email protected]", "password": "********", "email": "[email protected]" }{ "objectId": "k2mLzvMtqO", "username": "[email protected]", "email": "[email protected]", "sessionToken": "r:3f8c1a9e2b7d4c0f", "installationId": "a1b2c3d4-e5f6-7890", "createdAt": "2019-04-12T18:22:01.000Z", "updatedAt": "2026-10-02T14:11:08.000Z" }List invoices
GET
/v1/woinvoice/billsopenfinancePages the signed-in business's Invoice objects — number, dates, line items, tax, open balanceDue and sent/overdue status — that populate the Invoices tab and outstanding-AR list.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints.
- objectId
- invoiceNumber
- invoiceDate
- dueDate
- clientName
- clientEmail
- balanceDue
- amountPaid
- amountRemaining
- subtotal
- taxAmount
- taxRate
- currency
- status
- sentStatus
- overdue
- daysOverdue
- poNumber
- shareUrl
- items
- quantity
- price
- rate
- invoiceRemoteId
GET /v1/woinvoice/bills?limit=50&skip=0&order=-invoiceDate HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f x-is-platform: android x-is-version: 6.15.1 x-is-subscription-tier: premium{ "results": [ { "objectId": "inv_7c11ab", "className": "Invoice", "invoiceNumber": "INV-1042", "invoiceDate": "2026-09-15T00:00:00.000Z", "dueDate": "2026-10-15T00:00:00.000Z", "clientId": "cli_9aa01", "clientName": "Harbor Studio LLC", "clientEmail": "[email protected]", "clientRemoteId": "k8pQ1n", "invoiceRemoteId": "inv_7c11ab", "remoteId": "inv_7c11ab", "currency": "USD", "currencyCode": "USD", "subtotal": 2400.0, "taxRate": 8.875, "taxAmount": 213.0, "discount": 0, "discountType": "none", "balanceDue": 2613.0, "amountPaid": 0, "amountRemaining": 2613.0, "status": "sent", "sentStatus": "sent", "overdue": false, "pastDue": false, "daysOverdue": 0, "poNumber": "PO-88", "notes": "Net 30", "terms": "dueOnReceipt", "shareUrl": "https://files.example.com/i/inv_7c11ab", "signatureUrl": null, "logoUrl": "https://files.example.com/account/k2mLzvMtqO/photo/logo.png", "photoUrl": null, "companyName": "Alex Design Co", "businessName": "Alex Design Co", "recurring": false, "depositAmount": 0, "processingSurcharge": false, "surchargeAmount": 0, "paymentInstructions": "ACH or card", "items": [ { "name": "Brand workshop", "itemDescription": "Half-day on-site", "quantity": 1, "qty": 1, "price": 2400.0, "rate": 2400.0, "taxable": true, "sku": "WS-BRAND" } ], "createdAt": "2026-09-15T16:02:11.000Z", "updatedAt": "2026-09-15T16:04:02.000Z" } ] }List clients
GET
/v1/woinvoice/clientsosintReturns the client directory used on New Invoice and the Clients tab — name, emails, phone and billing address keyed by clientRemoteId.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints.
- objectId
- clientName
- clientEmail
- secondaryEmail
- phone
- mobile
- clientAddress
- address1
- address2
- city
- state
- zip
- postalCode
- country
- clientRemoteId
GET /v1/woinvoice/clients?limit=50&order=clientName HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "results": [ { "objectId": "cli_9aa01", "className": "Client", "clientName": "Harbor Studio LLC", "clientEmail": "[email protected]", "secondaryEmail": "[email protected]", "phone": "+1-415-555-0142", "mobile": "+1-415-555-0199", "clientAddress": "88 Market St, San Francisco, CA 94105", "address1": "88 Market St", "address2": "Floor 4", "city": "San Francisco", "state": "CA", "zip": "94105", "postalCode": "94105", "country": "US", "clientRemoteId": "k8pQ1n", "remoteId": "k8pQ1n", "createdAt": "2024-01-09T12:00:00.000Z", "updatedAt": "2026-09-01T09:14:22.000Z" } ] }List estimates
GET
/v1/woinvoice/quotesopendataLists estimate documents (number, totals, status, share link) shown on the Estimates tab before an estimate is converted to an invoice.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints.
- objectId
- estimateNumber
- documentType
- clientName
- clientEmail
- subtotal
- taxAmount
- balanceDue
- status
- shareUrl
- currency
GET /v1/woinvoice/quotes?limit=50&order=-updatedAt HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "results": [ { "objectId": "est_22b", "className": "Estimate", "estimateNumber": "EST-210", "documentType": "estimate", "clientName": "Harbor Studio LLC", "clientEmail": "[email protected]", "currency": "USD", "subtotal": 1800.0, "taxAmount": 159.75, "balanceDue": 1959.75, "status": "sent", "shareUrl": "https://files.example.com/e/est_22b", "createdAt": "2026-09-02T10:00:00.000Z", "updatedAt": "2026-09-02T10:08:44.000Z" } ] }List payments
GET
/v1/woinvoice/bills/{invoiceRemoteId}/settlementsopenfinanceReturns Payment objects attached to an invoice — method, amount, fees, paymentIntentId and paymentStatus — that drive the payment history on a bill.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints.
- objectId
- invoiceRemoteId
- paymentIntentId
- paymentMethod
- paymentMethodStripe
- paymentAmount
- amount
- currency
- paymentDate
- paymentStatus
- status
- paymentFees
- originalPaymentId
GET /v1/woinvoice/bills/inv_7c11ab/settlements?order=-paymentDate HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "results": [ { "objectId": "pay_91", "className": "Payment", "invoiceRemoteId": "inv_7c11ab", "paymentIntentId": "pi_3Nxxxx_secret_abc", "paymentMethod": "card", "paymentMethodStripe": true, "paymentAmount": 2613.0, "amount": 2613.0, "currency": "USD", "paymentDate": "2026-09-20T18:11:00.000Z", "paymentStatus": "succeeded", "status": "succeeded", "paymentFees": 75.78, "originalPaymentId": null, "createdAt": "2026-09-20T18:11:04.000Z" } ] }List expenses
GET
/v1/woinvoice/spend/receiptsopendataPages Expense objects from receipt OCR and manual entry — merchant, category, purchaseDate, totalAmount and receipt photo — that fill the Expenses tab.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints.
- objectId
- merchantName
- merchant
- category
- categoryId
- description
- purchaseDate
- totalAmount
- taxAmount
- currency
- expenseReviewed
- expensePhoto
- receiptId
- remoteId
GET /v1/woinvoice/spend/receipts?limit=50&order=-purchaseDate HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "results": [ { "objectId": "exp_44", "className": "Expense", "merchantName": "Home Depot", "merchant": "Home Depot", "category": "materials", "categoryId": "cat_materials", "description": "Paint and rollers", "purchaseDate": "2026-09-12T00:00:00.000Z", "totalAmount": 186.4, "taxAmount": 15.2, "currency": "USD", "expenseReviewed": true, "expensePhoto": "https://files.example.com/account/k2mLzvMtqO/photo/exp_44.jpg", "receiptId": "rcpt_88", "remoteId": "exp_44", "createdAt": "2026-09-12T21:04:11.000Z" } ] }Load signed-in account
GET
/v1/woinvoice/business/profileopendataReturns the signed-in business profile used on Settings — company name, logo, currency, subscriptionTier and connected Stripe/PayPal identities.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints.
- objectId
- username
- companyName
- businessName
- businessAddress
- currency
- currencyCode
- subscriptionTier
- stripeAccountId
- stripeAccount
- paypalEmail
- logoUrl
- installationId
GET /v1/woinvoice/business/profile HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f x-is-installation: a1b2c3d4-e5f6-7890 x-is-platform: android x-is-version: 6.15.1 x-is-subscription-tier: premium{ "objectId": "k2mLzvMtqO", "email": "[email protected]", "username": "[email protected]", "companyName": "Alex Design Co", "businessName": "Alex Design Co", "businessAddress": "12 Oak Ave, Austin, TX 78701", "currency": "USD", "currencyCode": "USD", "subscriptionTier": "premium", "stripeAccountId": "acct_1Nxxxx", "stripeAccount": "acct_1Nxxxx", "paypalEmail": "[email protected]", "logoUrl": "https://files.example.com/account/k2mLzvMtqO/photo/logo.png", "installationId": "a1b2c3d4-e5f6-7890" }Client AR statement
GET
/v1/woinvoice/clients/{clientRemoteId}/ar-packopenfinanceBuilds the per-client statement (open invoices, amounts paid, remaining balanceDue) that the client-statement screen renders, with a PDF sibling for the same date range.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Query identifies the client by clientRemoteId.
- clientRemoteId
- clientName
- clientEmail
- balanceDue
- amountPaid
- invoiceNumber
- invoiceDate
- dueDate
- status
- pdfPath
GET /v1/woinvoice/clients/k8pQ1n/ar-pack?from=2026-01-01&to=2026-10-01 HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "clientRemoteId": "k8pQ1n", "clientName": "Harbor Studio LLC", "clientEmail": "[email protected]", "currency": "USD", "balanceDue": 2613.0, "amountPaid": 4800.0, "invoices": [ { "invoiceNumber": "INV-1042", "invoiceDate": "2026-09-15", "dueDate": "2026-10-15", "status": "sent", "balanceDue": 2613.0, "amountPaid": 0 } ], "pdfPath": "/v1/woinvoice/clients/k8pQ1n/ar-pack.pdf" }Create payment intent
POST
/v1/woinvoice/bills/{invoiceRemoteId}/card-chargeopenbankingOpens a Stripe PaymentIntent for an invoice so the client can pay by card; paymentIntentId is stored on the subsequent Payment record.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Used after Stripe onboarding; the connected stripeAccountId rides on the business profile.
- invoiceId
- invoiceRemoteId
- amount
- currency
- stripeAccountId
- paymentMethod
- paymentIntentId
- status
- clientSecret
POST /v1/woinvoice/bills/inv_7c11ab/card-charge HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f Content-Type: application/json { "invoiceId": "inv_7c11ab", "invoiceRemoteId": "inv_7c11ab", "amount": 2613.0, "currency": "USD", "stripeAccountId": "acct_1Nxxxx", "paymentMethod": "card" }{ "paymentIntentId": "pi_3Nxxxx_secret_abc", "status": "requires_payment_method", "amount": 2613.0, "currency": "USD", "invoiceId": "inv_7c11ab", "stripeAccountId": "acct_1Nxxxx", "clientSecret": "pi_3Nxxxx_secret_abc" }Submit mobile check deposit
POST
/v1/woinvoice/bills/{invoiceRemoteId}/check-captureopenbankingUploads a mobile check capture against an invoice for Stripe Check Image Capture; the invoice then shows checkDepositPending until the deposit clears.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Requires a connected Stripe account with check-scanning enabled and depositCheck consent.
- invoiceRemoteId
- amount
- currency
- checkScanToken
- photoUrl
- backImage
- status
- paymentMethod
- paymentMethodCheckScan
- checkDepositPending
- checkDepositStatus
POST /v1/woinvoice/bills/inv_7c11ab/check-capture HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f Content-Type: application/json { "invoiceRemoteId": "inv_7c11ab", "amount": 2613.0, "currency": "USD", "checkScanToken": "cstok_9f2a", "photoUrl": "<check-image>", "backImage": "<check-back>" }{ "status": "pending", "invoiceRemoteId": "inv_7c11ab", "amount": 2613.0, "currency": "USD", "paymentMethod": "checkScan", "paymentMethodCheckScan": true, "checkDepositPending": true, "checkDepositStatus": "pending" }Tap-to-pay location
GET
/v1/woinvoice/tap/terminal-siteopenbankingResolves the Stripe Terminal location id the phone uses for tap-to-pay (contactless card on the device) before collecting a PaymentIntent.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Used after Stripe Terminal / tap-to-pay onboarding.
- eligibleForTtp
- locationId
- status
- stripeAccountId
GET /v1/woinvoice/tap/terminal-site HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f x-is-platform: android{ "eligibleForTtp": true, "locationId": "tml_US_austin", "status": "active", "stripeAccountId": "acct_1Nxxxx" }List recurring invoice series
GET
/v1/woinvoice/retainers/seriesopenfinanceLists RecurringInvoiceSeries retainers (frequency, interval, client, amounts) that automatically mint invoices; activeCount is the live-series tally.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Recurring billing is a paid-tier feature gated by subscription-tier.
- objectId
- invoiceNumber
- clientName
- clientRemoteId
- frequency
- interval
- recurring
- subtotal
- balanceDue
- status
- depositAmount
- activeCount
GET /v1/woinvoice/retainers/series HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f x-is-subscription-tier: premium{ "results": [ { "objectId": "ser_44", "className": "RecurringInvoiceSeries", "invoiceNumber": "INV-R-12", "clientName": "Harbor Studio LLC", "clientRemoteId": "k8pQ1n", "frequency": "monthly", "interval": 1, "recurring": true, "currency": "USD", "subtotal": 1200.0, "balanceDue": 1200.0, "status": "active", "depositAmount": 0 } ], "activeCount": 1 }Exchange session token
POST
/v1/woinvoice/session/elevateopendataMints an accessToken / refreshToken pair from the sign-in session so embedded Stripe, PayPal, bookkeeping and financing webviews can call the same account.
Auth: Existing sessionToken in the JSON body (or session header). Returns a short-lived accessToken for payments and bookkeeping webviews.
- sessionToken
- installationId
- accessToken
- refreshToken
- objectId
POST /v1/woinvoice/session/elevate HTTP/1.1 Content-Type: application/json { "sessionToken": "r:3f8c1a9e2b7d4c0f", "installationId": "a1b2c3d4-e5f6-7890" }{ "accessToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example", "refreshToken": "rt_7c11ab", "sessionToken": "r:3f8c1a9e2b7d4c0f", "objectId": "k2mLzvMtqO" }Export invoices CSV
POST
/v1/woinvoice/bills/csv-dumpopendataProduces the invoices CSV export as a shareable file URL for bookkeeping import.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Export is a signed-in business action (CSV of invoices for a date range).
- documentType
- from
- to
- currency
- status
- shareUrl
- count
POST /v1/woinvoice/bills/csv-dump HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f Content-Type: application/json { "documentType": "invoice", "from": "2026-01-01", "to": "2026-10-01", "currency": "USD" }{ "status": "ready", "documentType": "invoice", "shareUrl": "https://files.example.com/account/k2mLzvMtqO/export/invoices-2026.csv", "count": 128 }Start Stripe Connect check session
GET
/v1/woinvoice/payouts/connect-setupopenbankingCreates the Stripe Connect AccountLink used to finish identity / payouts setup before invoices can accept cards or check deposits.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Called from Stripe onboarding when the business enables online card payments.
- stripeAccountId
- status
- accountId
- url
GET /v1/woinvoice/payouts/connect-setup HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "stripeAccountId": "acct_1Nxxxx", "status": "pending", "accountId": "acct_1Nxxxx", "url": "https://connect.example.com/setup/s/example" }Count payment disputes
GET
/v1/woinvoice/payouts/chargebacks/tallyopenfinanceReturns how many card/PayPal disputes need a response, driving the disputes badge on the payments dashboard.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Requires a connected Stripe or PayPal payments account.
- count
- needsResponse
- stripeAccountId
GET /v1/woinvoice/payouts/chargebacks/tally HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "count": 2, "needsResponse": 1, "stripeAccountId": "acct_1Nxxxx" }List saved payment methods
GET
/v1/woinvoice/payouts/saved-instrumentsopenbankingLists the card and bank payment methods attached to the connected Stripe account for invoice checkout and tap-to-pay.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Requires a connected Stripe account.
- paymentMethods
- paymentMethod
- payment_method_types
- id
- brand
- last4
- status
- stripeAccountId
GET /v1/woinvoice/payouts/saved-instruments HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "paymentMethods": [ { "id": "pm_1Ncard", "paymentMethod": "card", "payment_method_types": [ "card", "us_bank_account" ], "brand": "visa", "last4": "4242", "status": "active" } ], "stripeAccountId": "acct_1Nxxxx" }Calculate invoice taxes
POST
/v1/woinvoice/bills/tax-previewopendataComputes taxAmount from line-item price/quantity and taxRate so the invoice editor can show balanceDue before send.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. Used when a line item is marked taxable on New Invoice.
- subtotal
- taxRate
- taxAmount
- balanceDue
- currency
- price
- quantity
- taxable
POST /v1/woinvoice/bills/tax-preview HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f Content-Type: application/json { "subtotal": 2400.0, "taxRate": 8.875, "currency": "USD", "items": [ { "price": 2400.0, "quantity": 1, "taxable": true } ] }{ "subtotal": 2400.0, "taxRate": 8.875, "taxAmount": 213.0, "balanceDue": 2613.0, "currency": "USD" }E-invoicing activation status
GET
/v1/woinvoice/peppol/enrolmentopendataReturns Peppol e-invoicing onboarding state — SIRET, VAT and legal address — after the French e-invoice setup wizard.
Auth: Session token from email/password sign-in, sent as a session header with installation, platform, app-version and subscription-tier hints. French e-invoicing (Peppol) setup; gated to supported countries.
- eInvoicingConnected
- eInvoicingSiret
- eInvoicingVat
- eInvoicingLegalBusinessName
- eInvoicingAddressLine1
- eInvoicingCity
- eInvoicingPostalCode
- eInvoicingProvince
- eInvoicingCountry
- status
GET /v1/woinvoice/peppol/enrolment HTTP/1.1 x-is-session: r:3f8c1a9e2b7d4c0f{ "eInvoicingConnected": true, "eInvoicingSiret": "73282932000074", "eInvoicingVat": "FR32732829320", "eInvoicingLegalBusinessName": "Alex Design SARL", "eInvoicingAddressLine1": "12 rue Oberkampf", "eInvoicingCity": "Paris", "eInvoicingPostalCode": "75011", "eInvoicingProvince": "IDF", "eInvoicingCountry": "FR", "status": "connected" }Bookkeeping bank link
GET
/v1/woinvoice/ledger/bank-linkopenfinanceOpens the embedded bookkeeping bank-link flow (Plaid) so the add-on can pull transactions into the bookkeeping tab.
Auth: Bearer accessToken from the session-elevate call, loaded in the bookkeeping webview.
- bookkeepingEnabled
- bookkeepingOnboarded
- bookkeepingTrialStatus
- status
- plaidItemId
GET /v1/woinvoice/ledger/bank-link?autoStart=true HTTP/1.1 Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.example{ "bookkeepingEnabled": true, "bookkeepingOnboarded": true, "bookkeepingTrialStatus": "active", "status": "linked", "plaidItemId": "item_88" }
Data categories
- invoices
- clients
- estimates
- payments
- expenses
- accounts-receivable
- recurring-billing
- check-deposits
- e-invoicing
- bookkeeping
Where teams use this data
Nightly AR reconciliation
An accounting bot pages Invoice objects for the signed-in business, matches invoiceNumber / dueDate / balanceDue against the desktop ledger, and flags daysOverdue rows so collections only chase truly open bills.
Client statement packs
A practice-management tool pulls the client directory (clientName, clientEmail, billing address) and the per-client statement to email a monthly AR pack with open invoices and amountPaid without re-keying contacts.
Payments-ops console
A finance desk watches paymentIntentId status, mobile check deposits (checkScanToken, checkDepositPending) and disputes/count so Stripe and PayPal exceptions surface next to the invoice they belong to.
Expense and retainer sync
An ops calendar reads RecurringInvoiceSeries frequency and interval per clientRemoteId, and a bookkeeper imports Expense merchantName / totalAmount / purchaseDate from receipt OCR so retainers and job costs land in the same period.
Frequently asked questions
What invoice fields does the data API return?
Each Invoice object includes invoiceNumber, invoiceDate, dueDate, clientName, currency, subtotal, taxAmount, taxRate, balanceDue, amountPaid, amountRemaining, status/sentStatus, overdue flags, poNumber, shareUrl and line items with quantity, price/rate and taxable.
How does Invoice Simple authenticate those calls?
Email and password on the sign-in screen return a sessionToken plus objectId and installationId. Later invoice, client and estimate reads send that sessionToken as a session header, with installation, platform, app version and subscription-tier hints. A token-elevate call then mints accessToken/refreshToken for the embedded card, PayPal and bookkeeping webviews.
Which payment rails are in the surface?
Stripe card PaymentIntents (paymentIntentId, stripeAccountId), PayPal via paypalEmail on the account, mobile check deposit (checkScanToken, pending status) and tap-to-pay (eligibleForTtp plus a Terminal locationId). A disputes tally tracks cases that still need a response, and saved-instruments lists cards and bank accounts on the connected Stripe account.
Can I export invoices and expenses for bookkeeping?
Yes. A CSV dump filtered by documentType and date range matches the in-app invoices CSV export and returns a shareUrl when the file is ready. Expense objects expose merchantName, totalAmount and purchaseDate from receipt OCR, and the bookkeeping add-on opens a Plaid bank-link webview. Per-client statements are a separate read with a PDF sibling.
Topics
- invoice simple api
- invoice maker data api
- invoice simple invoices
- invoice simple clients
- invoice simple stripe
- invoice simple check deposit
- accounts receivable api
- recurring invoice series
- invoice simple peppol
- small business invoicing data
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use