Guides API Operations

Documentation

Guides, examples, and reference paths for running deliveries, returns, products, B2B onboarding, supermarket accounts, reports, and integrations in wallmarkets.

Browse by workflow

Find the part of the system you need

Short paths first, deeper reference below. Pick the workflow that matches the job in front of you.

Recommended first run Create one real delivery with a real branch, then print the record and review where it appears in reporting.
Follow the quick start →

Getting Started

Fast path

Use this section when you want the shortest reliable route from a new account to one real delivery record that can be reviewed, printed, and reported on.

1Create account 2Add catalog and branches 3Save first delivery

What is wallmarkets?

wallmarkets helps suppliers keep deliveries, returns, products, and supermarket accounts in one working system. Use it to create clean delivery records, link returns back to original shipments, and review the numbers in reports and analytics.

Do first Prove one normal delivery

Use real product, branch, quantity, and price data so the rest of the workflow has something useful to show.

Avoid Trying every edge case

The fastest confidence comes from one boring but accurate record, then one return if your team needs it.

Result A source record

You get a delivery detail page that can feed printing, exports, returns, reporting, and later review.

Prerequisites
Modern browser (Chrome, Firefox, Safari, Edge)
Email address or Google account
No software installation required
PWA support on mobile devices
Best first run: one real delivery

Use the first delivery to prove the workflow with real data, not to stress-test every edge at once.

Quick Start

1
Create an account
Sign up with email or Google OAuth. Verify your email to activate all features.
2
Add your products
Enter name, weight, price, and category for each product you deliver.
3
Register supermarkets
Add the chains and branches you supply, with addresses and contact details.
4
Create your first delivery
Select products, quantities, a target supermarket, and a delivery date.
5
Track everything
Review the record, any linked returns, and the reporting views that explain what changed.

Mobile Access

On mobile devices, you can install wallmarkets as a Progressive Web App (PWA) for faster repeat access and limited cached browsing when connectivity is shaky. Learn how →

Deliveries

Main job

Create clean shipment records that answer where goods went, what was included, and what should happen next if something comes back.

1Choose destination 2Add product lines 3Print or export

Creating a Delivery

Navigate to Deliveries > New Delivery. Select the target supermarket and branch, add one or more products with quantities, choose a delivery date, and submit.

The resulting detail page becomes the source record you can review, print, export, or use as the starting point for a linked return later.

Delivery Record Shape

delivery.yaml
supermarket: E-mart
branch: Central Branch
delivery_date: 2026-03-15

lines:
  Whole Milk 1L x 50 @ 2850
  Greek Yogurt 500g x 30 @ 4200

The important part is not the format itself, but that destination, quantities, and prices are correct before the record is saved.

How Deliveries Show Up In The App

The current workflow is centered on a clean record rather than a deep status machine. In practice, teams move between the list view, the detail page, and any linked return records.

List view Detail page PDF / Print Linked returns

List Reference

Dashboard Field Operational Meaning Decision Impact
Date When the delivery record is scheduled and when it was created Useful for reviewing timing and period activity
Destination Supermarket and branch This is where branch-level mistakes usually surface first
Value Total delivery value from the line items Helps you notice outsized shipments quickly
Completed / Return(s) Whether the delivery currently stands alone or already has linked return records A fast signal for follow-up work

Tracking & Filtering

The deliveries page is a dated working list. Use it to open records, export CSV, review values, and spot which deliveries already have linked returns. When something needs explanation, move into the delivery detail page rather than trying to infer too much from the table alone.

Returns

Main job

Keep returned goods attached to the original delivery so the story remains readable in operations, finance, and reporting.

1Select delivery 2Confirm quantities 3Review impact

Processing a Return

Go to Returns > New Return, or start from a delivery detail page. Select the original delivery, confirm the product(s) and quantities being returned, choose the return date, and save the record.

Every return stays linked to the original delivery, which is what keeps the history readable later in reporting and follow-up work.

Return Validation Rules

Validation Check Rule Enforced Risk Prevented
Delivery scope The selected delivery must belong to the current business Prevents returns from being linked to the wrong account
Return date It cannot be before the delivery date or in the future Keeps return history chronological and believable
Quantity Returned quantity cannot exceed what was delivered minus any earlier returns Stops teams from over-returning the same shipment on paper
Price Returned lines must still carry a positive unit price Keeps return value meaningful in reports and exports

Linked Records And Documents

Each return keeps a direct relationship to the original delivery and can be reviewed, printed, or downloaded as a PDF. That linked structure is what makes later analysis and reconciliation easier than trying to track returns as free-floating notes.

Return Analytics

The reporting views make it easier to read return totals beside delivery totals, then filter deeper by supermarket and category in analytics when a pattern needs explanation.

Products

Main job

Make the catalog trustworthy before deliveries use it. Product data should be boring, consistent, and easy to import in batches.

1Name and weight 2Price and category 3Import or edit

Managing Your Product Catalog

Each product has a name, weight, price, and category. Products are assigned a unique sequential ID used across deliveries, returns, and reports. Add products individually or import a batch via CSV.

Edit existing products from the product detail page. Changes to price or weight apply to future deliveries only — historical records are preserved.

Product Data Model

API Field Value Type Required? Field Meaning
name string Product display name
weight decimal Weight in kilograms
price decimal Unit price
category string User-defined grouping
sequential_id integer auto Unique, system-assigned

CSV Import

Bulk-add products by uploading a CSV file. The importer validates each row and reports any errors before committing.

products.csv
name,weight,price,category
"Whole Milk 1L",1.03,2850,"Dairy"
"Greek Yogurt 500g",0.52,4200,"Dairy"
"Orange Juice 2L",2.10,5600,"Beverages"

Product Categories

Organize products into categories (e.g. Dairy, Beverages, Frozen) for easier filtering in the delivery form and for category-level reporting. Categories are user-defined — create whatever groupings make sense for your business.

Supermarkets

Main job

Separate chains from branches so your team can deliver to the right physical place instead of relying on vague account names.

1Create chain 2Add branches 3Use in deliveries

Supermarket Accounts

Each supermarket account represents a chain you deliver to. Within that account, you can register branches with their own address and contact details. This structure keeps deliveries and returns tied to the right receiving location instead of flattening everything into one chain-level record.

Branch Hierarchy

Supermarket Chain (e.g. E-mart)
Branch: Central (Address, Contact)
Branch: East Side (Address, Contact)
Branch: Airport Road (Address, Contact)

Adding a Supermarket

1
Go to Supermarkets > Add New
2
Enter the chain name and primary contact details
3
Add one or more branches with their own address and contact details
4
Save — the supermarket is now available in the delivery form

Branch Record Fields

Branch records are most useful when they contain the details your team will actually rely on during delivery creation and later review.

branch.yaml
name: Central Branch
address: Peace Avenue 10
contact_person: Receiving Manager
phone: +976-...
email: central@example.com

The sharper the branch data, the easier it is to avoid destination mistakes later.

Branch Management

Use the supermarket and branch pages to keep names, addresses, and contacts accurate. Clean branch data pays off later in delivery creation, returns, and reporting.

B2B Onboarding

Main job

Use B2B onboarding when a supermarket wants to receive product pitches online, or when a local supplier wants to pitch real catalog items into supermarket shelves.

1Choose role 2Publish or pitch 3Approve and order

What B2B onboarding creates

B2B onboarding turns shelf access into a tracked workflow. A supermarket owner can open a buyer portal, publish what each location is willing to receive, review local supplier pitches, message the supplier, approve or decline the pitch, and start the first stock request. A supplier can open the same portal from the supplier side, send a shelf pitch with catalog proof, then coordinate requests, deliveries, invoices, and payment follow-up after approval.

Buyer path Supermarket joins as a shelf buyer

The buyer path starts at B2B onboarding, enables the portal, and sends the owner to shelf intake so locations are ready before suppliers pitch.

Supplier path Local business pitches with its catalog

The supplier path can start from the public B2B intake directory, then uses Find Supermarkets to send product proof, hero products, launch terms, and contact details.

Result A governed partnership trail

Every invite, pitch, note, message, approval, decline, stock request, invoice, and admin review stays attached to the B2B record.

Supermarket buyer onboarding

Use this path for an eMart-style owner or category buyer who wants to receive pitches from local brands and decide what belongs on physical shelves.

1
Create the business account
The owner signs up, confirms email, and creates a business profile for the supermarket operator. B2B requires a current business because all pitches and requests are scoped to that business context.
2
Open B2B onboarding
The owner opens B2B > Get started and chooses Start as supermarket buyer. The form posts with entry_mode=supermarket, marks B2B enabled, completes the onboarding step, and redirects to buyer intake.
3
Create or claim supermarket locations
Each supermarket location becomes the receiving profile suppliers can pitch into. The profile should have a real address, contact owner, phone or email, and branch-level receiving expectations.
4
Publish shelf intake
Shelf intake records buyer contact, receiving windows, delivery cadence, minimum order value, required documents, and buyer notes. This tells suppliers what a useful pitch should contain before they send it.
5
Pitch inbox
The pitch inbox shows pending, active, and declined supplier relationships with catalog counts, pitch package, proof points, launch terms, buyer notes, messages, and action buttons.
6
Decide and start the first shelf order
The buyer can message the supplier, add internal notes, approve the pitch, decline it with a reason, or convert an active pitch into a stock request for the opening quantity.

Local supplier onboarding

Use this path for a food producer, packaged-goods brand, or wholesaler that already has products and wants to show supermarket buyers why the products deserve shelf space.

1
Prepare catalog proof
The supplier should have product names, categories, prices, stock capacity, proof points, and launch terms ready. The pitch is stronger when it names hero products and why customers already want them.
2
Start supplier pitching
The supplier opens B2B onboarding and chooses Start as local supplier. The form posts with entry_mode=supplier, enables B2B, and redirects to the B2B dashboard.
3
Find supermarket intake
The public B2B intake directory at /b2b/intake shows buyer desks before login. After enabling B2B, Find Supermarkets lets the supplier open a desk, read requirements, and send a shelf pitch with pitch message, focus products, proof points, launch terms, and contact details.
4
Answer buyer messages
Partnership messaging keeps negotiation inside the record. The supplier can answer buyer questions instead of relying on scattered calls, screenshots, or email chains.
5
Coordinate after approval
Once the supermarket approves the pitch, the relationship becomes active. Stock requests, delivery proposals, invoices, payment tracking, analytics, and exports can then run from the same partnership trail.

Lifecycle reference

Onboarding Moment What Happens Record Created Or Updated Owner Decision
Enable B2B The business switches from normal logistics only into the B2B portal. Business b2b_enabled is set, onboarding step is marked complete Choose buyer path, supplier path, or use both
Shelf intake The supermarket states what it can receive and what proof it expects. Supermarket intake fields, contact, windows, documents, notes Make the location pitch-ready
Supplier pitch A supplier asks for shelf access and attaches its catalog story. Partnership row plus pitch package audit details Review, message, note, approve, or decline
Approved pitch The supplier is trusted enough to begin shelf coordination. Partnership status changes to active Create the opening stock request
Opening order The buyer requests initial quantity for selected products. Stock request with product, supermarket, quantity, and requested-by user Approve, reject, convert to delivery, invoice, and track payment

Operational screens

B2B onboarding Shelf intake Supplier discovery Supplier pitches Stock requests Invoices

Where to go next

Reporting

Reporting workflow

Turn operating records into decisions

Use reports to compare movement, returns, and value without turning every question into spreadsheet reconstruction.

1Choose period 2Compare returns 3Export when needed
Dashboard CSV Filters API

Dashboard KPIs

The main dashboard gives you the fast read most teams need first: revenue, net revenue, deliveries, and returns over the selected period. The point is not to admire the cards. It is to notice when one of them starts telling a different story from the rest.

Available Report Types

UI CSV Detail

Delivery Summary

Delivery counts and values over the selected period, with direct access back into the underlying records.

Open delivery guide
UI CSV Detail

Return Breakdown

Return counts and values beside deliveries, so you can see which accounts or periods are generating drag.

Open return guide
Dashboard CSV Analytics

Revenue Report

Read gross movement beside returns and net value so the period makes financial sense, not just operational sense.

Open dashboard guide
UI Analytics CSV

Product Performance

Use product and category views to see where value is concentrated and which items keep coming back as return work.

Open analytics guide

Generating Reports

Navigate to Reports in the sidebar, set the date range, and review deliveries and returns together first. When you need a deeper explanation, open the analytics dashboard and filter by supermarket or category.

API Endpoint Preview

GET /api/dashboard/stats
GET /api/dashboard/stats?range=30d

{
  "revenue": 12450000,
  "net": 11200000,
  "deliveries": 156,
  "returns": 8,
  "period_change": "+12.3%"
}

Account Management

Main job

Keep ownership, API keys, billing expectations, and account settings clear so operations do not depend on mystery access.

1Update profile 2Name API keys 3Revoke stale access

Profile & Password

Update your name, company, email, avatar, and username in Account Settings. The same page also gives you password change, language preferences, notification toggles, privacy links, and the account deletion action.

Go to Account Settings →

Current Access Model

Product Area Current Coverage Recommended Practice
Business data scope Deliveries, returns, products, and supermarkets are tied to the current business context Check business context first when something seems to be missing
Account settings Profile, password, language, privacy links, and account deletion live in the signed-in account settings Keep ownership and owner email clear inside the team
API keys Keys are created and revoked from the account that owns them Use separate named keys per integration and revoke stale ones quickly
Team control The product is simpler today than a full enterprise role-management console Do not build internal process around UI that is not actually present yet

API Keys

Generate named API keys in Account Settings > API Keys. Copy the key when it is shown, store it safely, and revoke it when the integration no longer needs access.

api-key-notes.txt
Key name: Production ETL
Rate limit tier: standard
Best practice: one key per integration
Action when retired: revoke immediately

Billing

wallmarkets offers plan-based access, but not every account exposes a full self-serve billing workspace directly in the app. Treat billing changes as owner-level work and use the billing guide when the path needs clarification.

Ready to get started?

Explore our step-by-step guides in the Help Center or dive into the API Reference for advanced integrations.