Tenant Owner Manual — SanadiqCloud
Product version: 1.0.0+1
Last updated: 2026-10-02 Audience: Tenant Owners (organization administrators with full access)
A. Introduction
What is SanadiqCloud?
SanadiqCloud is a cloud-based business management platform. It helps you organize your products, track inventory across warehouses, manage your team, handle billing, and monitor every activity in your organization — all from one place.
Who is this guide for?
This guide is for Tenant Owners — users who own or have been granted full administrative access to an organization (called a tenant) on SanadiqCloud. As a Tenant Owner, you have unrestricted access to all features: product catalog, inventory, billing, team management, audit logs, settings, and more.
If you are a team member (Employee), see the Employee Manual.
Signing in
- Open SanadiqCloud in your browser or on your device.
- Click Sign In.
- Enter your email and password, or click Sign in with Google to use your Google account.
- If it is your first time on a new device, check your email for a one-time verification code and enter it to complete sign-in.
- After signing in, you will land on your workspace. If you belong to multiple organizations, you will be prompted to pick one.
Tip: If you forgot your password, click Forgot password on the sign-in screen, enter the email verification code you receive, then set your new password.
Complete walkthrough for Tenant Owners covering organization setup, product catalog, multi-warehouse inventory, sales & invoicing, representative custody, operational finance & payables, team roles & audit, and subscription billing.
7-Phase Feature Video Curriculum
Use the phased video guides below to train your team on every operational area of SanadiqCloud:
| Phase | Feature Area | Video File | Manual Pages |
|---|---|---|---|
| Master | Complete Platform Overview | sanadiq-overview.mp4 | Getting Started · Dashboard |
| Phase 1 | Product Catalog & SKUs | phase-01-products.mp4 | Product Catalog Overview |
| Phase 2 | Warehouses & Inventory Operations | phase-02-inventory.mp4 | Inventory Hub Overview |
| Phase 3 | Sales, Customers & Invoicing | phase-03-sales.mp4 | Sales Overview |
| Phase 4 | Representative Custody: Stock, Sales & Cash | phase-04-custody.mp4 | Custody Stock · Sales Representatives |
| Phase 5 | Finance, Payables, Ledgers & Reports | phase-05-finance.mp4 | Finance Overview |
| Phase 6 | Team, Roles, Permissions & Audit | phase-06-team-permissions.mp4 | Roles & Permissions · Settings Hub · Audit Trail |
| Phase 7 | Subscriptions, Billing & Support | phase-07-billing-support.mp4 | Billing Hub · Support Overview |
B. Your Workspace
Creating an organization
The Create Organization wizard has three steps for your first organization (a fourth, Choose your subscription, is added for additional organizations):
- Organization details — Name, URL slug, country (stored in description metadata), and organization type (Enterprise vs SME / Startup).
- Organization language — English or Arabic. Shown on review; it does not change your app language.
- Review & confirm — Check your entries (including the plan tier) and tap Create organization.
Your first organization gets a one-time welcome free trial (1 month, 1 user, 1 GB). On success the app creates the tenant, sets it as current, and opens its Dashboard. You are the Tenant Owner. Additional organizations are paid: from Settings → Organizations → Create organization, the wizard asks you to choose months, seats and storage and pay through Stripe Checkout before the organization is created. See Creating an Organization.
Choosing a plan (separate from create)
- Go to side rail Billing → Plans (or Billing → Subscription).
- Browse plans and tap Subscribe / pay via Stripe Checkout.
- Already subscribed? Use Adjust under Billing instead of a second checkout.
Payment
SanadiqCloud uses Stripe for payment processing. Card details are handled by Stripe — SanadiqCloud never stores full card numbers. Checkout opens when you subscribe or adjust from Billing.
Organization settings
- Go to Settings → Organizations (list / detail / Edit organization form at
/settings/organizations/:id/edit). - Edit name, description, website, logo, and active status (
tenant:updateor owner). Slug is immutable after create. - There is no country or contact-email field on the tenant entity; organization detail does not expose an internal UUID in the merchant UI.
- Settings → Workspace (
/settings/general) is a read-only summary of the organization and its plan limits (seats, storage); change limits in Billing. - Only the organization owner can delete an organization (confirmed with your account password); export your data first.
- App language / theme / about / sign-out: Settings hub body only (no Preferences route).
Inviting team members
- Open side rail Team → Invites (or Members → Invite User).
- On the invites page, fill the inline form: email, first name, last name, and one Access role.
- Tap Send invitation.
Only the organization owner can send invitations. Each pending invitation reserves a seat and expires after 7 days; if no seat is free, add seats in Billing.
The invitee opens the email link (/accept-invitation?token=…), sets a password, then signs in. There is no personal-message field on the invite form.
Roles
Roles control what a team member can see and do. Each new organization starts with ten built-in roles:
| Role | Permissions |
|---|---|
| Tenant Owner | Full access. The only locked role — it cannot be edited, deleted, or removed/demoted via normal member actions. |
| Starter roles | Administrator, Inventory Manager, Warehouse Clerk, Sales Manager, Sales Clerk, Sales Representative, Finance Manager, Accountant, and Viewer. Ready to assign, and yours to rename, re-permission, or delete. See Built-in roles. |
| Custom roles | You define name, description, and permissions on Team > Roles. |
To create a custom role:
- Go to Team > Roles (
/settings/users-roles). - Tap Create.
- Enter name and optional description; save.
- Open the role detail and set permissions in the permission editor.
- Save.
To assign a role to an existing member:
- Go to Team > Members.
- Use Assign role on the row or open detail → Assign role.
- Select roles on the assign page and submit.
C. Dashboard
Navigating the dashboard
The dashboard is your home screen. It shows a summary of your organization's key metrics at a glance.
The shell uses a side navigation rail on every screen size. On compact widths the rail shows icons only; on desktop it expands to show labels.
KPIs (Key Performance Indicators)
Your dashboard displays a grid of metric cards, including:
- Active members — Active / total team members.
- Products — Products in your catalog.
- Low stock — Items below reorder / min levels (dashboard projection).
- Expiring soon — Stock approaching expiry (live inventory, ~30 days).
- Pending requisitions — Open requisition pipeline count.
- Transactions (MTD) — Inventory movements this month.
- In-transit transfers — Open transfers.
- Storage used — Media storage vs plan.
- Subscription status — Plan / subscription health.
A Business section may also show inventory value, sales / COGS / gross profit MTD, and a monthly trend.
Each card shows a value and label. Tapping navigates only when your role allows that module; cards still appear with dashboard:read.
Quick actions
From the dashboard you can:
- Navigate via the side navigation rail.
- Open a related section from a KPI card when permitted (for example, Inventory from Low stock).
There is no separate quick-action shortcut strip and no Export report on this page.
D. Product Catalog
Adding products
- Go to Product Catalog from the side navigation rail.
- Products → Add Product (list / hub app bar) opens the product form (catalog shell only). Add SKUs afterward from product detail → Items.
- For product + first SKUs (+ optional gallery) in one submit, use the Product Setup Wizard from the hub hero / empty CTA or the roadmap intro wizard (not the list Add button).
- Wizard / form product fields typically include: - Name (required) - Product Type — Physical, digital, or service - Status — Active, Inactive, or Discontinued - Description and Short Description - Brand, Category, Manufacturer — select existing or create when permitted - Product Image — optional primary catalog image
- SKU, barcode, price, UoM, and dimensions are entered on Items (wizard Items step or item form).
Tip: Use the Product Setup Wizard for the first SKUs and variation matrix in one atomic flow. Manage ongoing brands, categories, manufacturers, and UoM from their list screens.
Brands
- Go to Product Catalog > Brands.
- Tap Add Brand.
- Enter the brand name and description.
- Optionally upload a brand logo.
- Tap Save.
To edit or delete a brand, open it from the list. Deleting a brand also deletes its products (they can be restored from Recently deleted on the Products list).
Categories
- Go to Product Catalog > Categories.
- Tap Add Category.
- Enter the category name and description (parent category when applicable).
- Tap Save.
Categories help you organize products (e.g., "Electronics", "Clothing", "Food & Beverages").
Deleting a category also deletes its subcategories and their products (products can be restored from Recently deleted).
Variations
Variations let you define options that differentiate items within a product (e.g., size, color, material). Options can be added or changed later.
- Go to Product Catalog > Variations (or a category’s variations list).
- Tap Add Variation, then manage options for that variation.
- On a product item detail page, use the Variants panel to attach options to the SKU (or set them in the setup wizard Items step).
Items
An item is a SKU under a product. Each variant line has its own SKU, barcode, price, UoM, dimensions, variation options, and images.
- Open a product and go to the Items section (or open item detail from the items list).
- Tap Add Item (or create items in the setup wizard).
- Enter: - SKU and Barcode — both required and unique in your organization; the form pre-fills editable codes - Price - Unit of Measure, Weight, and Dimensions (optional) - After save, manage Variants and Images on the form or the unified item detail page
- From item detail, tap Create inventory item to stock that catalog line in inventory (requires inventory permission).
Items are what you track inventory against. When you receive stock, it is assigned to a specific product item.
Deleting and restoring
- Delete marks a product or item Deleted (with its items and linked inventory items). Deleted products are listed under Recently deleted on the Products list.
- Restore brings back the record and everything deleted with it.
- Delete permanently on an already-deleted product or item is available to you as the organization owner only, and cannot be undone.
See Products — Deleting and Restoring.
E. Media Library
Library and upload
- Side rail Media (
/media) — search + type chips; grid on wide / list on phone. - Upload opens
/media/upload(media:create): type, optional alt/description/tags, file picker. - Open a file for detail, file link (signed; expires after 24 hours), delete (
media:delete).
A storage usage summary shows on the library and upload pages when usage loads; quota warnings also appear on the Merchant Dashboard and as upload errors. Certificate and General files are private to organization members. There is no post-upload metadata editor.
Using media in products
Attach images from product / product-item Images panels (and brand flows) as those features provide — the Media hub remains the shared library.
E2. Sales
Use the side rail Sales area to:
- Manage Customers.
- Create a Sale as draft, confirm it (stock decreases on confirm), then generate an invoice.
- Review Sales invoices.
Voiding a sale does not restore stock. Quotas / POS / quotes screens are not part of the current MVP. See Sales Overview.
F. Inventory Management
Hierarchy (quick reminder)
Warehouse (facility) → Inventory → Items / bins
Warehouses
A warehouse is a facility. Create it directly; its address is an optional Google Maps link on the warehouse form. You can have multiple warehouses.
Creating a warehouse:
- Open the Inventory warehouse hub (or Warehouses).
- Tap Add warehouse.
- Enter name, type, status, and optionally paste a Google Maps link (or use your current location).
- Tap Save.
Warehouse detail is configuration (edit, inventories, barcode) — not document shortcuts.
Physical Locations (bins)
Physical locations are bins/shelves under an inventory. An optional bin type preset (standard, pallet, shelf, floor, cold) lives on this form.
- Go to Inventory > Physical Locations.
- Tap Add Physical Location.
- Select the inventory; set bin type / aisle-rack-shelf-bin, capacity, and code as needed.
- Tap Save.
Stock
Inventory > Stock lists inventories. Open an inventory for its inventory items.
Stock item detail typically includes:
- Quantities (on hand, reserved, available, incoming)
- Stock levels (min/max, reorder)
- Tracking (batch/lot/serial, expiry, placard barcode)
- Commerce (unit cost in the organization currency, supplier)
- Allocations across bins
- Ledger / activity
Barcode scanner: from stock or search, scan to open the matching stock or product item.
Item placard: from stock item detail, open Placard for a printable PL-… label / PDF.
Lot / serial tracking: set on create (Setup or item form). Blank batch/lot auto-generate; serial never auto-generates.
Adjustments
Stock adjustments correct inventory counts when physical counts differ from system records.
- Go to Inventory > Adjustments, or item Operations → Create adjustment (inventory + SKU locked).
- Choose type: count types use counted on-hand;
damage/expiry/issueuse units to remove. Optional bin per line. - Submit, then approve (stock changes on approve).
An adjustment creates an audit trail showing who made the change and why.
Transfers
Transfers move stock between inventories. Same-inventory bin moves use item bin transfer; same-inventory inventory issue uses Pick Lists (source bin only — no destination bin).
- Go to Inventory > Transfers, inventory Operations, or item Operations (item locked; choose source/destination bins).
- Select source and destination inventories.
- Add lines (item, bins, qty) and save (
pending).
Statuses: pending → approved → in_transit → completed (or cancelled).
Requisitions
Requisitions are inbound replenishment into an inventory (optional supplier). Approve raises incoming; accept posts a receipt (on-hand up). Not internal consumption.
- Go to Inventory > Requisitions, or item Operations (item locked).
- Choose inventory, optional supplier, lines and quantities.
- Submit → approve → start processing → accept.
Statuses: draft → awaiting_approval → approved → processing → accepted (or rejected / cancelled).
Transactions
The Transactions Ledger records every stock movement in your organization — adjustments, transfers, requisition fulfillments, and manual entries.
- Go to Inventory > Transactions.
- View the complete list of transactions with type, date, items, and user.
- Tap any transaction to see full details.
- Filter by type (
receipt,issue,adjustment,transfer) and reference (pick_list,bin_transfer,requisition, …).
Item Ledger
The Item Ledger shows the complete history of a single inventory item — every transaction that changed its quantity, cost, or location.
- Go to Inventory > Stock and open a stock item.
- Tap View Ledger.
- Review the chronological list of movements with quantities, running balances, and reasons.
Suppliers
Manage the companies you purchase stock from.
- Go to Inventory > Suppliers.
- Tap Add Supplier.
- Enter: - Name (required) - Contact person, email, phone. - Address. - Payment terms.
- Tap Save.
Link suppliers to requisitions and stock items for full traceability.
Setup
Inventory > Setup stocks one catalog SKU into an existing (or inline-created) warehouse and inventory, with optional initial bin.
- Go to Inventory > Setup.
- Complete Storage → Catalog item → Tracking and quantity → Review and create.
- Tap Finish to create the inventory item and open its detail.
Create warehouses and bins from their own screens when you need master data beyond a single SKU stock-in.
G. Billing & Subscription
Hub
- Side rail Billing → hub tiles (Subscription, Plans, Invoices, Usage).
- Subscription shows plan/status/seats/months; Plans quote months/employees/storage → Pay via Stripe Checkout.
- Already subscribed → Adjust (
/billing/subscription/adjust) instead of a second checkout. - Invoices: filter, detail, Pay unpaid via Checkout (PDF URLs are not currently produced by the billing API).
- Usage: period metrics for the active subscription.
There is no Payments page, Elements card form, cancel-subscription page, or Billing Statistics page in the current app. See Billing overview.
H. Notifications
Inbox
- Open the app-bar bell (not a side-rail tab) → Inbox.
- Search + All/Read/Unread/Archived; mark all read.
- Tap a row for detail (read/unread, archive, delete, optional related link).
Delivery channels and devices
There is no Preferences or Devices page: the server chooses channels (in-app and email by default, push when a device is registered, SMS only for verification codes). Push registers automatically after sign-in and the current device is removed on sign-out. No notification:* AppPermissions gating — available to signed-in users. See Delivery channels.
I. Audit Logs
What is tracked
The organization audit trail records significant actions for your tenant. Each entry can include action, actor, target (entity type/id), occurred time, and optional before/after / IP / user agent.
Typical areas: catalog, inventory operations, sales, finance, billing-related events, media, and support cases / support access. Sign-in, role, and organization lifecycle events are recorded at platform scope and do not appear here. Entries a platform support agent made under a support access grant show a Support access badge.
Viewing and filtering
- Open side rail Audit (
/audit/logs). - Use Search, Action (CREATE/UPDATE/DELETE/…), and Date range.
- Open a row for full detail (changes + technical JSON).
- Pagination is previous/next (10 rows per page by default; adjustable in the table footer).
There is no actor autocomplete, target-id-only field, or filter URL bookmarking in the current UI.
Audit logs are read-only in the app and can't be exported.
See Audit overview and Audit logs.
J. Team (Members, Invites, Roles)
Members
- Go to Team > Members.
- View members with name, email, role, and Active / Inactive status.
- Tap a member for detail (membership metadata, active switch, remove). Deactivating, reactivating and removing members are owner-only. A deactivated member cannot sign in; removing a member also deactivates their sign-in account. Reactivation needs a free seat.
- Use Assign role for the full assign page — not a dialog.
- Pending invitees live under Invites, not as a “Pending” member status.
Invites
See Invites: inline form (email, first/last name, one Access role); Resend / Revoke on pending rows. Resend sends a new link and restarts the 7-day expiry.
Custom roles
See Section B (Roles) and Custom Roles.
Assignments
- Team > Members → Assign role (or detail → Assign role).
- Select roles and submit.
- Effective permissions = union of assigned roles.
Owner membership is protected from demotion/removal.
K. Settings
Profile
Your profile is reached from the avatar menu in the top app bar, not from the Settings hub.
- Tap your avatar in the app bar and choose Profile.
- Update your: - Display name. - Email address (changing this may require verification). - Profile picture. - Preferred language (English or Arabic).
- Tap Save.
Changing your password:
- Open Profile from the avatar menu.
- Tap Change Password.
- Enter your current password and the new password.
- Confirm and save.
Organization
- Go to Settings → Organizations.
- Manage identity on the Edit organization form: name, description, website, logo, active (
tenant:updateor owner). Slug cannot be changed after create. - Open Settings → Workspace to view the organization and plan limits and to set the organization's Preferred currency (
tenant:settings:updateor owner; it can also be changed on the Edit organization form). Inventory, product, sales and finance amounts are all in this currency. There are no timezone or feature-toggle settings.
Permission: Viewing uses
tenant:read, creatingtenant:create, editingtenant:update(owner always allowed). Deleting an organization is owner-only. The Workspace page opens withtenant:settings:readortenant:read.
Language and theme
- Open the Settings hub (
/settings). - Use the App preferences card on the hub — language (English / العربية), theme, about, and sign-out.
- There is no separate Preferences route.
Language preference on the hub is per-user.
Subscription summary
- Open Settings → Subscription for a read-only snapshot, or the hub subscription card.
- Manage plans and invoices from Billing.
Data export
- Open Settings → Data export (
/settings/data-export). Owner only. - Choose categories (organization, members, catalog, inventory, sales, finance), request, and confirm your identity.
- When notified, tap Download (ZIP with JSONL + CSV and a manifest). The package is kept 7 days.
See Data export. This is a copy of the organization's business data (media, support cases, audit logs and billing history are not included yet).
Support access
- When SanadiqCloud staff ask to work inside your workspace you receive a notification. Open the support case. Owner only.
- Review the Support access request (access level, duration, reason), then Approve or Reject.
- While access is active a Support access active banner shows the case and the end time. Revoke ends it immediately.
Access also ends when the time is up, the case is resolved or closed, or the organization is deactivated. See Support Access.
Need help? Contact your SanadiqCloud support representative or email support@sanadiqcloud.com.