Basis Receivables — Privacy Policy

Last updated: 22 October 2026. Basis Receivables is a Shopify app operated by Basis Gova Binyan Veyazamut Ltd. (Israel). Contact: support@basis-s.co.il.

What the app does

Basis Receivables is a B2B accounts-receivable dashboard for Shopify merchants: an A/R aging report, per-company customer statements, and a dunning queue that drafts payment reminders. It runs embedded inside the Shopify admin.

What we access

With the permissions granted at installation, the app reads the data needed to compute your receivables via the Shopify Admin API: your orders and their payment terms (read_orders, and read_all_orders so the aging report can reach invoices older than 60 days), and B2B companies (read_companies, read_payment_terms). The app requests no write scopes — it cannot change anything in your store.

If you have granted the app the read_customers permission, it can also read the customer on unpaid orders created from draft orders that are not linked to a B2B Company — the Shopify customer ID and the customer's first and last name, and nothing else (no email, phone number or address) — and it does so only for the dashboard's default list of those orders. It never reads a customer ID or name when "Include every unpaid order" is turned on in the dashboard: that list, which covers unpaid orders from any sales channel, is always read without them. With every order the default search matches, Shopify returns the order's customer, if it has one, and the app uses it only on the orders it treats as unpaid invoices, including any the aging report does not show: the ID groups those invoices by customer and links each group to that customer in your Shopify admin; the name labels them in your dashboard and addresses a reminder draft that you copy and send yourself. Neither is used for anything else. For any other order the search returns — for example, one the app has already read through its B2B Company, or one with nothing left to collect — the customer is discarded unused. Without that permission, the app reads no customer ID or name, and lists those invoices by order or draft number.

If you have granted the app the read_draft_orders permission, it also reads draft orders, only to list those whose invoice you have sent and that are not orders yet: each draft's number, status, dates, currency, total and payment terms, and whether it has become an order. It never reads the customer, email, phone number, address or payment link on a draft order.

What we store

No merchant or customer records. Order and company data (and, where read, draft orders and the customer ID and name) is fetched from the Shopify Admin API and processed in memory, per request, to render your dashboard — it is never written to any database, never backed up, and discarded as soon as the response is sent. A response that carries customer names is sent with Cache-Control: no-store, which tells your browser not to store it, and the dashboard never writes a customer ID or name to your browser's storage. For each store, the app keeps at most three things server-side, all in memory only: the store's API access token, which Shopify issues so the app can make those reads (it is never logged and never sent to the browser); if Shopify has declined to serve customer names for that store, a marker holding the store's domain and an expiry time, which stops the app asking for names again for 30 minutes; and, if Shopify has declined to serve draft orders for that store, a second marker of the same kind (the store's domain and an expiry time), which stops the app asking for draft orders again for 30 minutes. Nothing removes either marker on a timer. The customer-names marker is removed the first time the dashboard loads its default list for the store after those 30 minutes (a load with "Include every unpaid order" turned on neither reads nor sets it). The draft-orders marker is checked, and set when Shopify declines, on any dashboard load that reads the store's unpaid orders successfully, with or without "Include every unpaid order" turned on, and it is removed the first time such a load happens for the store after those 30 minutes. Each marker is also removed when a new access token is obtained for the store, when Shopify sends shop/redact for it, or when the service restarts. Our server writes operational log lines to our hosting provider's log stream so we can run, debug and secure the service. For each dashboard request a line holds the store domain, counts and timing, the Shopify user ID of the staff member who opened the dashboard (a number Shopify assigns, not a name or email) and the IP address the request came from. A refused request (an invalid session token or webhook signature, or a rate or capacity limit) is logged with the IP address it came from and its browser user-agent string. Those lines contain no customer names, emails, addresses, or order contents.

What we do not do

We do not sell, rent, or share your data with anyone, and we send it to no advertising or analytics service. Your order and customer data is used only to render your own dashboard. The one third party in the path is our hosting provider (see Sub-processors), which processes requests in transit only. Reminder drafts are exactly that — drafts; the app never sends an email or message on your behalf.

Sub-processors

The app's backend is hosted by Render, Inc. (United States), which processes your requests in transit to run the service and retains the operational log lines described above; it holds no customer records at rest. Requests reach it through Render's own content-delivery and edge network (which fronts the service in transit); Render's own sub-processors are listed in its sub-processor documentation. Because the operator is established in Israel and the host is in the United States, data is processed across those regions. Beyond the hosting provider and its network layer, no other sub-processor is involved.

Data retention and deletion

Because no customer records are persisted, there is almost nothing to retain: a data request (customers/data_request) has no stored customer data to report, and a redaction request (customers/redact) has none to erase. Operational log lines (store domain, counts, timing, and the staff user ID, IP address and user-agent described above — no customer PII) roll off the hosting provider's log retention automatically. After a store uninstalls the app, Shopify sends a store-redaction request (shop/redact); on it, the per-store items described above — the store's access token, and either marker if one is held — are discarded. The app implements all three of Shopify's mandatory privacy webhooks.

Security

All traffic is encrypted in transit (TLS). Every API request from the embedded dashboard is authenticated with a Shopify session token verified server-side; webhook deliveries are verified with Shopify's HMAC signature. Access to the app's infrastructure is limited to the operator. How the app is secured, and how a security incident is handled and reported, is set out in the Security & Incident Response Policy.

Changes and contact

If this policy changes, the "Last updated" date above changes with it. Questions or data requests: support@basis-s.co.il.