The flow to getting started

getting-started plan oauth app-registration
About this guide
This explains the flow to start using the ReceiptRoller developer portal. If you register as a store user and are on the Starter plan or higher, no separate developer application is needed. Once you register an app, you can start API implementation immediately.

The flow to getting started

ReceiptRoller's developer portal is not a separate "developer-only site" on a different domain — it is provided as one of the features within the ordinary store dashboard. Because of this, there is, as a rule, no separate flow of "apply as a developer and wait for approval". Register as a store user, upgrade your plan, and the developer features are available from that point.


The big picture in 3 minutes

  • Register as a store user — the same as creating a normal store account
  • Get to the Starter plan or higher — the developer API is unavailable on the Free plan
  • Register an app in the developer portal — issues a client ID / secret
  • Implement the OAuth authorization flow — specify the needed scopes and obtain a token
  • Implement with the API or Webhook

Only when handling individual users' receipt / spending data (user.* scopes) do you additionally need prior review. See the end of this page and the OAuth scopes reference for details.


Step 1: Register as a store user

Create an ordinary ReceiptRoller store account. If you are already using ReceiptRoller as a store user, skip this step.

  • Select "Start for free" on the ReceiptRoller top page, and enter your email, password, and business account info
  • Register one or more stores (because the target of API integration is the "business account" and "store")
  • At the point of registration, you are on the Free plan

For details on creating a store account, see Creating a store account (store help).


Step 2: Upgrade the plan to Starter or higher

The developer API is available on the Starter plan or higher. While on the Free plan, you cannot even reach the app registration screen.

  • Open the Business account menu > Business account settings > Plan & billing
  • Select a Starter or higher plan from "Upgrade" and complete the contract steps
  • The developer portal is unlocked at the same time the contract completes

For the features available per plan, see The relationship between plans and roles.


Step 3: Register an app in the developer portal

Open the developer portal from the store dashboard menu and register a new application.

  1. Open "Developer" or "Developer portal" from the store dashboard menu
  2. Click "Register app" or "Create new app"
  3. Enter the following information:
    • App name — the name shown to users on the authorization screen
    • Redirect URI — the URL that receives the code after OAuth authorization (multiple allowed)
    • Required scopes — the OAuth scopes this app requests
  4. Upon registration, a client ID and client secret are issued
The client secret is shown only immediately after creation
Be sure to copy it and store it somewhere safe. If you lose it, you need to regenerate it (the existing secret is immediately invalidated).

Step 4: Set the OAuth scopes

Specify the minimum scopes the app needs. For the complete list of scopes and retrieval restrictions, see OAuth scopes reference and availability.

  • Store-scopes only (store.* / crm.* / sns.* / analytics.*) → usable at the same time as app registration
  • Includes User-scopes (user.*) → the app's UserScopeStatus becomes pending, and moves to approved after the operating team's review

Step 5: Implement

Using the client ID / secret and redirect URI you obtained, implement the OAuth authorization flow and call the API with an access token. If you want to receive events via Webhook, then also register a Webhook URL.

See the per-use-case implementation guides.


Additional step when using User-scopes

When handling individual users' data such as receipts, spending, or favorite stores (user.* scopes), you need prior review in addition to the flow above.

  1. Register the app as usual and specify the user.* scopes
  2. At registration, it becomes UserScopeStatus = pending
  3. Contact ReceiptRoller support with the app's use case, target users, and data-handling policy
  4. Once the operating team's review makes it approved, you can use the user.* scopes in the authorization flow

Calling the authorization URL with user.* while still unreviewed returns an app_not_approved error.


Frequently asked questions

Q. Do I need a separate account as a developer?
A. No. Your ordinary store account works as-is as a developer account. Invite members who will handle development into the business account as staff, and grant them the necessary roles.

Q. Should I separate apps for testing/development vs. production operation?
A. Recommended. Since you can register multiple apps, separating the client IDs for development and production lets you manage redirect URIs and permissions independently.

Q. Can I try it on the Free plan?
A. The developer API requires the Starter plan or higher. The app registration screen itself is not shown on the Free plan. If you want to try it, start from the minimum Starter contract.

Q. Where is the menu to go from an existing store account to the developer portal?
A. A "Developer" or "Developer portal" item appears in the store dashboard menu. It appears on the Starter plan or higher.

Q. Is review required even when handling only store data, e.g. your own POS integration?
A. Not needed. With Store-scopes only, you can use it at the same time as app registration. Review is only required for user.* scopes (consumer personal data).


Related guides

Published: 2026-04-27 Updated: 2026-07-05