---
title: "Permissions Process Wholesale requests and why"
description: "Process Wholesale requests 25 Shopify access scopes at install, covering customers, discounts, orders, products, checkout customizations and theme reading, plus 3 optional theme and page write scopes asked only when you approve an Ada setup."
type: reference
plans: [All plans]
keywords:
  [
    access scopes,
    app permissions,
    OAuth scopes,
    read_customers,
    write_discounts,
    read_themes,
    write_themes,
    data access,
    Shopify app permissions,
  ]
questions:
  - "What permissions does Process Wholesale request?"
  - "Why does Process Wholesale need access to customers and orders?"
  - "Does Process Wholesale edit my theme?"
  - "When does Process Wholesale ask for theme write access?"
last_verified: 2026-11-11
order: 6
---

# Permissions Process Wholesale requests and why

Process Wholesale requests 25 Shopify access scopes when you install it. They let the app tag wholesale customers, maintain the Shopify automatic discounts that apply wholesale prices, add checkout rules, read orders for wholesale analytics, read products for price lists and order forms, and read your published theme to show **App Status** on the Dashboard. Three more scopes, for writing to themes, pages and navigation, are optional and requested only from merchants who approve a setup plan from Ada, the setup assistant. The scopes are the same on every plan.

**At a glance**

- **Required scopes:** 25, granted at install
- **Optional scopes:** 3 (`write_themes`, `write_online_store_pages`, `write_online_store_navigation`), asked only when you approve an Ada setup plan
- **Theme access at install:** read only. Process Wholesale reads the published theme to detect its blocks.
- **Data stored by the app:** see [What data Process Wholesale stores and uses](../account/data-and-privacy.md)

## Required scopes

| Scope                                   | What it lets Process Wholesale do                                      | Used by                                                                                                                                  |
| --------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `read_customers`                        | Read customers, their tags and notes                                   | **Customers** page, Dashboard customer counts, at-risk customers, discount assignment                                                    |
| `write_customers`                       | Change customer tags, notes and tax exemption                          | Approving and rejecting applications, discount tags, signup forms for new customer accounts, tax exemption, net terms customer selection |
| `customer_read_customers`               | Read the logged-in customer's details inside Shopify customer accounts | Process Wholesale's extensions in new customer accounts (signup forms, **Wholesaler Information** block, redirect after login)           |
| `customer_write_customers`              | Update the logged-in customer inside Shopify customer accounts         | —                                                                                                                                        |
| `read_discounts`                        | Read discounts                                                         | Checking the app's automatic discounts                                                                                                   |
| `write_discounts`                       | Create and update automatic discounts                                  | The four `B2B` automatic discounts that apply wholesale prices, and their combination settings                                           |
| `read_delivery_customizations`          | Read delivery customizations                                           | Wholesale shipping status on the Dashboard                                                                                               |
| `write_delivery_customizations`         | Create delivery customizations                                         | [Wholesale shipping](../checkout/wholesale-shipping.md)                                                                                  |
| `write_payment_customizations`          | Create payment customizations                                          | [Hide payment methods](../checkout/hide-payment-methods.md)                                                                              |
| `read_validations`                      | Read checkout validations                                              | [Minimum order amount](../checkout/minimum-order-amount.md) and [minimum order quantity](../checkout/minimum-order-quantity.md)          |
| `write_validations`                     | Create checkout validations                                            | Minimum order amount and minimum order quantity                                                                                          |
| `read_draft_orders`                     | Read draft orders                                                      | Quick Buy checkout with [net payment terms](../checkout/net-payment-terms.md)                                                            |
| `write_draft_orders`                    | Create draft orders                                                    | Quick Buy checkout with net payment terms                                                                                                |
| `write_payment_terms`                   | Set payment terms on orders                                            | Net payment terms, such as Net 30, on Quick Buy orders                                                                                   |
| `read_orders`                           | Read orders                                                            | [Wholesale orders](../analytics/wholesale-orders.md), Analytics, Dashboard revenue, loyalty discounts                                    |
| `write_orders`                          | Update orders                                                          | Adding the order tag `processwholesale` to wholesale orders                                                                              |
| `read_products`                         | Read products and variants                                             | Quick Buy product lists, price lists and cost plus markup                                                                                |
| `write_products`                        | Update product and variant data                                        | Price lists and cost plus markup (wholesale prices and unit costs stored on variants)                                                    |
| `read_shipping`                         | Read shipping profiles and rates                                       | Listing your rates on the **Shipping** page                                                                                              |
| `read_markets`                          | Read your markets                                                      | Listing rates by market on the **Shipping** page                                                                                         |
| `read_locations`                        | Read your locations                                                    | Listing your local pickup locations on the **Shipping** page                                                                             |
| `read_themes`                           | Read the published theme's files                                       | **App Status** on the Dashboard                                                                                                          |
| `write_files`                           | Upload files to Shopify                                                | Files attached to the custom signup form, and price list CSV imports                                                                     |
| `read_locales`                          | Read your store languages                                              | The language of at-risk recovery emails                                                                                                  |
| `unauthenticated_read_product_listings` | Read product listings through Shopify's Storefront API                 | —                                                                                                                                        |

A dash in **Used by** means the scope is part of the requested set but no Process Wholesale feature is named for it here.

## Optional scopes

| Scope                           | What it lets Process Wholesale do  | When it is requested                    |
| ------------------------------- | ---------------------------------- | --------------------------------------- |
| `write_themes`                  | Change theme files                 | Only when you approve an Ada setup plan |
| `write_online_store_pages`      | Create and edit online store pages | Only when you approve an Ada setup plan |
| `write_online_store_navigation` | Change online store menus          | Only when you approve an Ada setup plan |

These optional scopes are not granted at install. Only merchants who run an Ada setup plan are asked for theme and page write access, at the moment they approve it. See [Ada, the setup assistant in Process Wholesale](../account/ada-setup-assistant.md).

## Frequently asked questions

### Does Process Wholesale change my theme?

Not with the permissions granted at install. Process Wholesale has read access to your published theme, which it uses to show **App Status**. You add its blocks yourself in the theme editor. Theme write access is an optional scope requested only when you approve an Ada setup plan.

### Why does Process Wholesale need to edit customers?

Wholesale status and discounts are customer tags. Approving an application replaces `B2B_Registeration` with `B2B`, and assigning a discount adds its discount tag. The app also sets tax exemption when you save a change to the tax exemption setting and when you use **Accept B2B**, **Reject B2B**, **Return to pending**, **Remove B2B access** or **Manage discount tags** on a customer.

### Why does Process Wholesale need to update orders?

To add the order tag `processwholesale` to orders that received a Process Wholesale discount, so you can filter them in Shopify.

### Are the permissions different on each plan?

No. The same scopes are requested on every plan.

## Related articles

- [What data Process Wholesale stores and uses](../account/data-and-privacy.md)
- [Ada, the setup assistant in Process Wholesale](../account/ada-setup-assistant.md)
- [How Process Wholesale works: customer tags, discounts and checkout](how-process-wholesale-works.md)
- [Uninstalling Process Wholesale: what is removed and what stays](../account/uninstalling.md)
