# Jogan Help Center: complete text Source: https://jogan.cloud/help · Index: https://jogan.cloud/llms.txt --- # About Jogan What Jogan is, who it is for, and how it thinks about cost, stock and profit. --- # What is Jogan? > Jogan is stock, recipe and sales software for businesses that turn raw materials into finished goods. It tracks what each product really costs you and what it really earns, without a spreadsheet. _Category: About Jogan · Updated 2026-09-11 · Canonical: https://jogan.cloud/help/what-is-jogan_ Jogan is a web application for small and growing businesses that buy materials, make something from them, and sell the result. A bakery, a restaurant kitchen, a spice or pickle packer, a sauce maker, a soap workshop, a small furniture or garments factory: if you follow a recipe or a bill of materials, Jogan is built around how you already work. It replaces the stock sheet, the costing spreadsheet and the sales notebook with one system where every number is already worked out. ## The problem Jogan solves Most production businesses can answer "what did we sell?" but not "what did it cost us?" Flour was one price last month and another this month, so the cost you quote is a guess. Someone sold from the shelf and forgot to write it down, so the stock sheet and the shelf disagree. A tin of something expired before anyone noticed. And every time somebody asks "how much did we make?", you rebuild the same spreadsheet. Jogan keeps one running answer to all of that, updated as your team works. ## What Jogan does - **Items.** One list of everything you buy, make or sell: name, unit, category, selling price, minimum stock, and whether it expires. See [How to add your items](https://jogan.cloud/help/add-your-items). - **Stock ledger.** Every change to stock is a recorded movement: opening balance, purchase, production, sale, waste, expiry, adjustment. Stock can never be sold that you do not have. See [How to check stock levels](https://jogan.cloud/help/check-stock-levels). - **Weighted-average costing.** Every time stock arrives at a new price, Jogan re-averages what that item costs you. Nothing to type. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). - **Recipes.** Write down once what goes into one batch of a product. The recipe prices itself from today's ingredient costs. See [How to set up a recipe](https://jogan.cloud/help/set-up-a-recipe). - **Production.** Run a recipe: components come out of stock, the finished good goes in at its real rolled-up cost. See [How to run production](https://jogan.cloud/help/run-production). - **Sales.** Pick items and a price. Stock comes down, profit is worked out at true cost, and an invoice is ready. See [How to record a sale](https://jogan.cloud/help/record-a-sale). - **Batches and expiry.** Perishable stock is tracked in dated batches, the oldest batch is used first, you are warned 30 days ahead, and expired stock can be written off. See [How expiry tracking works](https://jogan.cloud/help/track-expiry-and-batches). - **Reports.** Sales, profit by product, inventory value, low stock, stock movements and expiry, over any date range. See [How to read your reports](https://jogan.cloud/help/read-your-reports). - **Excel import.** Bring in the items, recipes and opening stock you already keep in a spreadsheet. See [How to import from Excel](https://jogan.cloud/help/import-from-excel). ## What Jogan is not Jogan is focused. It is not a full accounting package, a point-of-sale till, a payroll system or a customer relationship tool. It does inventory, recipe costing, production, sales and reporting well, and stays out of the way of anything else you use. ## How it is set up Each business gets its own **workspace** at its own address, for example `yourbusiness.jogan.cloud`. Your team signs in there with individual accounts and roles. Creating a workspace takes about a minute and starts a free trial with no card. See [How to create your workspace](https://jogan.cloud/help/create-your-workspace) and [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). --- # Who is Jogan for? > Jogan is for businesses that buy raw materials, make products from them and sell those products, from small teams to larger ones, and that want honest cost and profit numbers without maintaining a spreadsheet. Standard plans cover up to ten people; bigger teams can be accommodated through a custom plan. _Category: About Jogan · Updated 2026-09-11 · Canonical: https://jogan.cloud/help/who-is-jogan-for_ Jogan fits any business that turns inputs into outputs and sells them. The product does not assume what you make: a cake, a jar of pickle, a bar of soap, a chair or a packet of spice all work through the same model of items, recipes, stock and sales. ## Businesses Jogan fits well - **Food producers**: bakeries, cake and dessert makers, spice and masala packers, pickle, sauce and condiment makers, juice and beverage bottlers, snack manufacturers, frozen-food kitchens. Recipes, expiry dates and "which batch first" are built in. - **Restaurants and cloud kitchens** that want to cost their dishes from real ingredient prices and see which menu items actually earn. - **Packagers and repackers** who buy in bulk and sell in smaller units. A recipe can be as simple as "one 500 g pack = 0.5 kg of bulk stock plus one pouch". - **Workshops and small factories** working from a bill of materials: furniture, garments, soap and cosmetics, candles, leather goods, small electronics assembly. - **Traders who make nothing** but want a real stock ledger, low-stock alerts, expiry tracking and profit at true cost. Recipes and production are optional. See [Do I need recipes?](https://jogan.cloud/help/do-i-need-recipes). ## Signs it is for you - You track stock in Excel, a notebook or your head, and the numbers drift. - You are not sure what a product costs you now that ingredient prices have moved. - Different staff record sales differently, so totals never quite match. - You have found expired stock after paying for it. - Month-end means rebuilding a spreadsheet. ## Team size and roles Jogan is designed for teams of one to ten. Every person gets their own login, and an admin decides what each person can do: **Admin** (everything, including deletes and team management), **Member** (record and edit day-to-day work, no deletes) or **Read-only**. See [Team roles explained](https://jogan.cloud/help/team-roles-explained). Bigger team? The standard plans go up to 10 people, but larger teams can be accommodated. Tell us what you need in the chat bubble. ## Where it is used Jogan is a web application, used by producers in many countries. The interface is available in English and Bengali, and a workspace can report in any of twelve currencies. The English site is priced in US dollars. See [Devices, currencies and language](https://jogan.cloud/help/devices-currencies-and-language). ## Not sure? Create a free workspace, add your five best-selling products and their recipes, and run it alongside your current method for a week. There is no card and nothing to install. See [How to create your workspace](https://jogan.cloud/help/create-your-workspace). --- # How is Jogan different from Excel or a notebook? > Excel records what you type. Jogan records what happened and works out the rest: stock comes down on every sale, cost re-averages on every purchase, recipes reprice themselves, and profit is already calculated when you look. _Category: About Jogan · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/jogan-vs-excel_ Excel is flexible, familiar and free, and for one product and one person it is often enough. The problems start when you have several products, more than one pair of hands, or ingredient prices that move. This article is honest about where the line is. ## Where a spreadsheet breaks down - **Stock never quite adds up.** Every sale, purchase and production run has to be typed in and every formula kept intact. One missed row and the total is wrong, and you only find out at a physical count. - **Cost is whatever you last typed.** When flour goes from one price to another mid-month, your product cost is stale until someone rebuilds the formula. - **Profit is a project.** Cost per ingredient, times recipe quantity, adjusted for price changes, subtracted from the sale price. That is an afternoon, not a glance. - **Two people break one file.** Which copy is the latest? Who changed that cell? - **Expiry lives in someone's memory.** A separate tab that nobody updates. - **There is no history.** An overwritten number is gone. ## What changes with Jogan | Task | With Excel | With Jogan | | --- | --- | --- | | Stock after a sale | You remember to type it in | Deducted automatically, on every sale | | What one unit costs you | Whatever you last typed | Re-averaged each time stock arrives | | Cost of something you make | A formula you rebuild by hand | Rolled up from today's ingredient prices | | Selling more than you have | Nothing stops you | Refused before it is recorded | | Expiry | A note you hope to re-read | Dated batches, flagged 30 days ahead, oldest used first | | Two people working at once | Which file is the latest one? | One shared workspace, with roles | | Last month's profit by product | An afternoon of rebuilding | A report that is already waiting | | Correcting a mistake | Overwrite the cell | An admin deletes the record and stock is restored, with history kept | ## "I have already built my Excel system" Keep it for a week and run Jogan beside it. Setup is one-time: import your items and recipes from the spreadsheet you already have ([How to import from Excel](https://jogan.cloud/help/import-from-excel)), record opening stock, and then just stock in and sell. When the two agree and the daily routine is shorter, you will know. ## "I am not technical" If you can write a sale in a notebook, you can record it in Jogan. The daily work is two actions: stock in what arrives, and record what you sold. Everything else is worked out for you. The in-app guided tour and page guides walk you through each screen. See [Where to find help inside the app](https://jogan.cloud/help/help-inside-the-app). ## When Excel is still fine One product, one person, a handful of transactions a day and no perishables: stay with the spreadsheet for now. When you add products, people, price changes or expiry dates, that is when Jogan pays for itself. See [What is Jogan?](https://jogan.cloud/help/what-is-jogan). --- # How does Jogan work out what a product costs? > Jogan keeps one running weighted-average cost per item. Every stock-in at a price re-averages it, a recipe's cost is the sum of its components at their current averages, and production adds the finished good at that rolled-up cost. _Category: About Jogan · Updated 2026-09-11 · Canonical: https://jogan.cloud/help/how-costing-works_ Jogan uses **weighted-average costing**. Each item carries a single number, its current cost per unit, that blends everything you currently hold at the prices you actually paid. You never type it; it moves on its own as stock moves. ## Stock-ins re-average the cost When you record a purchase, an opening balance, a return or an adjustment-in, you enter what you paid per unit. Jogan blends it with what is already in stock: > new cost = (current quantity × current cost + incoming quantity × incoming price) ÷ (current quantity + incoming quantity) **Example.** You hold 20 kg of flour at $2.50/kg. You buy 30 kg at $3.00/kg. Your new average is (20 × 2.50 + 30 × 3.00) ÷ 50 = $2.80/kg. Every recipe that uses flour now costs a little more, immediately. If you leave the unit cost blank on a stock-in, Jogan uses the item's current cost, so the average does not move. ## Stock-outs are costed at the average Sales, production consumption, waste, damage, expiry write-offs and adjustments-out all leave stock at the item's average cost at that moment. The movement records that cost, which is what makes the profit report possible later. See [How profit is calculated](https://jogan.cloud/help/how-profit-is-calculated). ## Recipes price themselves A recipe lists the components for one batch and how many units the batch makes. Its material cost is the sum of each component's quantity times that component's current average cost, and cost per unit is that total divided by the units per batch. The Recipes page shows both, and they update whenever an ingredient's average changes. See [How to set up a recipe](https://jogan.cloud/help/set-up-a-recipe). ## Production rolls the cost into the finished good When you run production, each component leaves stock at its average cost, and the finished item enters stock at the total material cost divided by the quantity produced. That stock-in re-averages the finished item's cost exactly like a purchase would. See [How to run production](https://jogan.cloud/help/run-production). ## Why weighted average, and not the price of each batch? One number per item is deliberately simple. It smooths price swings, needs no per-batch cost audit trail, and matches how most small producers think about "what this costs me now". Batches in Jogan exist for expiry and traceability, never for costing. See [How expiry tracking works](https://jogan.cloud/help/track-expiry-and-batches). ## Things that affect accuracy - **Enter the unit cost on every purchase.** A blank cost keeps the old average; a wrong cost skews it. - **Use consistent units.** If flour is stocked in kilograms, recipe quantities for flour must be in kilograms too. - **Set a starting cost on new items.** When you create an item you can give it a cost price; your first stock-in will then blend against something sensible. --- # How does Jogan calculate profit? > Profit on a sale line is the selling price minus the item's weighted-average cost at the moment of sale, times the quantity. Reports sum this over any date range and show revenue, cost of goods sold, gross profit and margin, in total and per product. _Category: About Jogan · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/how-profit-is-calculated_ Every sale line in Jogan stores two prices: the **unit price** you sold at and the **cost at sale**, which is the item's weighted-average cost at that moment. Profit is the difference, times the quantity. Nothing is estimated afterwards; the cost is frozen on the line when the sale is recorded. ## The formula > revenue = unit price × quantity > > cost of goods sold = cost at sale × quantity > > gross profit = revenue − cost of goods sold > > margin = gross profit ÷ revenue A sale-level discount reduces the total you charged, and the Profit report accounts for it. ## Where the cost comes from - For something you **buy and resell**, cost at sale is the running average of what you paid. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). - For something you **make**, cost at sale is the finished item's average, which production set from the recipe's material cost. The finished good's cost therefore already contains today's ingredient prices. ## Where to see it - **Dashboard**: Today's sales and Today's profit. - **Sale receipt**: each line shows "Cost on this sale" next to the unit price, so you can see the margin on one invoice. See [How to view and print a receipt](https://jogan.cloud/help/view-and-print-a-receipt). - **Reports → Profit**: revenue, cost of goods sold, gross profit and margin for a date range, then a breakdown by item so you can see which products carry the best margin. See [How to read your reports](https://jogan.cloud/help/read-your-reports). ## What profit does not include Jogan reports **gross** profit: revenue minus the cost of the goods sold. Rent, wages, electricity, delivery and other overheads are not in Jogan, so net profit is a step you do outside it. ## Common surprises - **A cheaper product with a better margin.** A samosa that sells for less than a cake can still earn a higher percentage. The By-item table in the Profit report makes that visible. - **Margins shrinking over time.** Usually an ingredient's average cost has risen. The Recipes page shows current material cost per unit, so you can reprice. - **Profit looks too high.** Check that purchases were logged with their real unit cost. A blank cost keeps the old average and understates cost of goods sold. --- # Do I need recipes if I only buy and resell? > No. Recipes and production are only for items you make from other items. A business that buys finished goods and resells them uses just Items, Stock and Sales, and everything else stays out of the way. _Category: About Jogan · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/do-i-need-recipes_ Recipes exist so Jogan can cost and produce things you make. If you buy finished goods and sell them as they are, skip recipes entirely. ## The two ways an item can reach your shelf | How the item arrives | What you do in Jogan | Needs a recipe? | | --- | --- | --- | | You buy it ready to sell | Record a purchase on the Stock page | No | | You make it from other items | Set up a recipe once, then run production | Yes | Both kinds of item live in the same Items list, sit in the same stock ledger, and are sold the same way. ## A reseller's daily routine 1. **Stock in** what arrives, with the unit cost you paid. See [How to log incoming stock](https://jogan.cloud/help/log-incoming-stock). 2. **Record sales** as they happen. Stock comes down and profit is worked out at your average cost. See [How to record a sale](https://jogan.cloud/help/record-a-sale). 3. Glance at the **Dashboard** for low stock and, if you track expiry, batches coming due. ## Mixed businesses Many businesses do both: a bakery buys drinks to resell and bakes bread from a recipe. Give the bread a recipe and leave the drinks without one. An item can even be both an ingredient and something you sell directly, like flour that goes into cakes and is also sold by the kilo. ## When a "recipe" is just repacking If you buy a 25 kg sack and sell 1 kg packets, a recipe still helps: output item "Rice 1 kg" from 1 kg of "Rice (bulk)" plus one pouch. Production then converts bulk stock into packets at the right cost. See [How to set up a recipe](https://jogan.cloud/help/set-up-a-recipe). --- # Is my data private and secure? > Each business has its own workspace and every record is tied to it, so no other business can see your data. Access needs an account your admin created, passwords are stored hashed, sessions are locked to your workspace address, and your data stays even if your plan lapses. _Category: About Jogan · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/is-my-data-safe_ Your data belongs to your workspace, and only people your admin has added can sign in to it. ## Your workspace is separate Every item, movement, recipe, sale and report row carries your workspace's identity, and every query is scoped to it at the database layer. There is no screen anywhere in Jogan where one business can see another's numbers. ## Who can get in - Only accounts created by an **Admin** of your workspace, each with its own email and password. There is no public sign-up into an existing workspace. - Roles limit what each person can do. A **Read-only** account can change nothing; a **Member** can record and edit but not delete; only an **Admin** can delete data or manage the team. See [Team roles explained](https://jogan.cloud/help/team-roles-explained). - Passwords must be at least 8 characters with an uppercase letter and a symbol, and are stored hashed, never in plain text. - Your sign-in session is tied to your workspace's own address and cannot be reused on another workspace. - Removing a person from the team ends their access immediately, and changing or resetting a password signs that account out on every other device. - Repeated wrong passwords are slowed down, so a password cannot be guessed by trying many times. ## Jogan support access To help with a support request, a Jogan platform administrator can enter a workspace through a short-lived, signed access pass that works only once. When that happens the sidebar shows a **Platform admin** badge on the account, and no row is added to your team. This is used only to assist you. ## Where the data lives Jogan runs in the cloud on MongoDB Atlas, with the provider's replication and backups. There is nothing to install and nothing stored only on one computer. ## What happens if my plan ends Nothing is deleted and nothing is locked. Your workspace keeps working and you see a reminder to renew. See [What happens when your plan ends](https://jogan.cloud/help/when-your-plan-ends). ## Questions If you need something specific for your business, such as a data export or account removal, message us through the chat bubble and we will help. --- # Does Jogan work on my phone, and what currencies and languages does it support? > Jogan runs in any modern browser on a phone, tablet or computer with nothing to install. The interface is available in English or Bengali, set per workspace. Each workspace reports money in one currency, chosen from twelve options. _Category: About Jogan · Updated 2026-10-17 · Canonical: https://jogan.cloud/help/devices-currencies-and-language_ Jogan is a web application. Open your workspace address in a browser and sign in; there is no app to download and nothing to update. ## Devices - **Phone and tablet**: every screen is responsive, including the sales form, the stock ledger and the reports tables (wide tables scroll sideways). - **Computer**: Chrome, Edge, Safari and Firefox all work. - Several people can use the same workspace at once from different devices. Changes appear when a page refreshes. ## Currency Each workspace has one **reporting currency**, used for every price, cost and report in that workspace. An admin can change it under **Settings → Workspace**. The options are: USD, EUR, GBP, BDT, INR, PKR, AED, SAR, AUD, CAD, JPY and NPR. Changing the currency changes the symbol and formatting; it does not convert existing amounts. See [How to change the workspace currency](https://jogan.cloud/help/workspace-currency). ## Language The interface is available in **English** and **Bengali (বাংলা)**. An admin picks the language for the whole workspace under **Settings → Workspace → Interface language**; everyone who signs in to that workspace sees the same language. English is the default. The public website follows your browser's language, and you can switch at any time with the **বাংলা / English** link in the page header or footer. That choice is remembered on your device and does not change any workspace's language. This help center has a separate address for each language: English articles live under `/help` and Bengali ones under `/bn/help`. A link you share opens in the language of its address, whoever receives it. If you have chosen Bengali, English help links take you to the Bengali copy automatically. Your own data, such as item names, categories and notes, can be written in any language, including Bangla, and search works on it. ## Payment Plan prices are shown in US dollars on the English site, and you pay by card on the renew page. A workspace set to **BDT** is billed in taka and can also pay by **bKash**. See [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). --- # Getting started From creating a workspace to your first sale: the one-time setup, in order. --- # How to create your workspace > Go to the Jogan homepage, pick a plan, fill in your name, email, password, workspace name and workspace address, then click the verification link in your email. Your workspace opens at its own address with a free trial running. No card is needed. _Category: Getting started · Updated 2026-09-11 · Canonical: https://jogan.cloud/help/create-your-workspace_ A workspace is your business's private space in Jogan. It has its own address, for example `yourbusiness.jogan.cloud`, and everything your team records lives inside it. Creating one takes about a minute. ## What you need - An email address you can open right now (the verification link is sent there). - A name for the workspace, usually your business name. - A short address for it: lowercase letters, digits and hyphens, such as `rahman-foods`. ## Steps 1. Open the Jogan homepage and click **Start free**. If you scroll to the pricing section and choose a plan there (monthly or yearly), the sign-up form remembers it and your trial will be of that plan. See [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). 2. Enter **Your name**, your **Email** and a **Password**. The password needs at least 8 characters, an uppercase letter and a symbol. 3. Jogan checks the email address as you leave the field. Disposable, invalid or role addresses such as `info@` are refused; use a real, personal mailbox. The **Create workspace** button stays disabled until the check finishes. 4. Enter the **Workspace name** and the **Workspace address**. Some addresses are reserved by the platform (for example `admin`, `help`, `app`); pick another if yours is refused. 5. Click **Create workspace**. You will see an "Almost there" screen. 6. Open the verification email and click the link. It is valid for 24 hours. Clicking it activates the workspace and signs you in on your own address. ## After you are in - If you chose a plan on the homepage, its free trial has already started. Otherwise you are asked to **choose your plan** on first sign-in; picking one starts a free trial of it. See [How the free trial works](https://jogan.cloud/help/free-trial-explained). - Your account is the workspace's first **Admin**. - A short guided tour highlights each part of the sidebar. You can replay it any time from the book icon in the top bar. See [Where to find help inside the app](https://jogan.cloud/help/help-inside-the-app). ## Recommended first hour 1. [Add your items](https://jogan.cloud/help/add-your-items), or [import them from Excel](https://jogan.cloud/help/import-from-excel). 2. [Set up recipes](https://jogan.cloud/help/set-up-a-recipe) for the things you make. 3. [Record opening stock](https://jogan.cloud/help/record-opening-stock) so the ledger matches the shelf. 4. [Add your team](https://jogan.cloud/help/add-team-members). 5. [Record your first sale](https://jogan.cloud/help/record-a-sale). ## Can I have more than one workspace? Yes. Each workspace is separate, with its own address, team and data. Sign up again with a different workspace address. The same email can be the admin of more than one workspace. ## The email did not arrive On the **"Almost there"** screen after sign-up, click **Resend email** for a fresh link (each lasts 24 hours). Check spam first, then see [The verification email has not arrived](https://jogan.cloud/help/verification-email-not-arriving). --- # How to sign in to your workspace > Go to your workspace's own address, for example yourbusiness.jogan.cloud, and enter your email and password. From the main Jogan homepage, click Sign in and also enter the workspace address. _Category: Getting started · Updated 2026-09-06 · Canonical: https://jogan.cloud/help/sign-in_ Every workspace has its own address, and that is the easiest place to sign in. ## From your workspace address 1. Open `yourworkspace.jogan.cloud/login` (replace `yourworkspace` with your workspace address). 2. Enter your **Email** and **Password**. 3. Click sign in. You land on the Dashboard. Bookmark this page on every device you use. ## From the Jogan homepage 1. Click **Sign in** in the top right. 2. Enter the **Workspace** address (just the short name, such as `rahman-foods`), your **Email** and **Password**. 3. You are taken to your workspace's own address and signed in there. ## Staying signed in Your session is tied to your workspace's address in that browser. Signing in to one workspace does not sign you in to another, and signing out from the account menu at the bottom of the sidebar ends the session on that device only. ## Forgotten your password? Click **Forgot password?** on the sign-in page and enter the email on your account, and Jogan emails a one-time reset link. If you cannot reach that email, ask an **Admin** to reset it under **Settings → Team**. See [How to change or reset a password](https://jogan.cloud/help/change-your-password). ## It will not let me in See [I can't sign in](https://jogan.cloud/help/cannot-sign-in). --- # How to add your items (products and materials) > Go to Items and click Add item. Give it a name, a SKU or code, a unit, and optionally a category, cost price, selling price, minimum stock and expiry tracking. Materials, components and finished goods all live in the one Items list. _Category: Getting started · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/add-your-items_ In Jogan, everything you buy, make or sell is an **Item**: flour, eggs, jars, a chocolate cake, a bar of soap, a packet of masala. There is no separate list for raw materials and finished products, because an item can be both. Flour can go into a recipe and also be sold by the kilo. ## Steps 1. Open **Items** from the sidebar and click **Add item**. 2. Fill in the form (fields below) and save. 3. Repeat for each item. Most businesses start with their best sellers and the materials those need, then add the rest as they go. If you already keep a list in Excel, import it in one go instead. See [How to import from Excel](https://jogan.cloud/help/import-from-excel). ## The fields | Field | What to enter | | --- | --- | | **Name** | What your team calls it, e.g. *Chocolate cake*, *Refined flour*. | | **SKU / code** | A short unique code, e.g. `CAKE-CHOC`, `FLOUR-REF`. Used for imports and to tell similar items apart. Must be unique in your workspace. | | **Unit** | How you count it: `kg`, `g`, `litre`, `ml`, `pcs`, `pack`, `box`. Pick the unit you buy or sell in, and use it consistently in recipes and stock entries. | | **Category** | Optional grouping, e.g. *Pastry*, *Packaging*. Shown on the sales form's stock overview. | | **Cost price** | A starting cost per unit. After this, Jogan keeps it updated automatically from your purchases. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). | | **Selling price** | The default price on the sales form. You can change it per sale. | | **Min. stock** | When stock falls to or below this number, the item appears in Low stock on the dashboard and in Reports. Leave 0 for no alert. | | **Track expiry** | Turn on for anything with a shelf life. You will then enter a **Shelf life (days)**, and every stock-in of this item creates a dated batch. See [How expiry tracking works](https://jogan.cloud/help/track-expiry-and-batches). | ## Editing an item Click the pencil icon on its row. You can change any field. Changing the unit does not convert existing stock, so set units right at the start. ## Deleting an item Only an Admin can delete, and because an item's stock history, recipes, production runs and sales depend on it, deletion removes those too. Jogan shows you exactly what will go before you confirm. There is also **Clear stock history & activity**, which removes the same history but keeps the item row, reset to zero stock. See [How to delete an item](https://jogan.cloud/help/delete-an-item). ## Tips - **Name items the way you say them out loud.** The sales form searches by name, so *Mango pickle 500 g* beats *MP500*. - **Decide the unit once.** If you buy flour by the sack but use grams in recipes, stock it in kilograms and write recipe quantities in kilograms (0.3, not 300). - **Set minimum stock for the things that stop production.** Packaging and the one ingredient every recipe uses are the usual suspects. - **Your plan sets how many items you can have.** Past it, adding an item asks you to upgrade. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). ## What next - Things you make: [How to set up a recipe](https://jogan.cloud/help/set-up-a-recipe). - Things you buy: [How to record opening stock](https://jogan.cloud/help/record-opening-stock). --- # How to import items, recipes and stock from Excel or CSV > Click Import on the Items, Recipes or Stock page, upload your existing spreadsheet, confirm how its columns map to Jogan's fields, review the rows that will be skipped, and import. Jogan reads your own column headings, so no template is required. _Category: Getting started · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/import-from-excel_ Smart Import reads the spreadsheet you already have. It suggests which of your columns is the name, which is the unit and so on; you confirm or adjust, review what will be skipped, and then nothing is saved until you press import. ## Where to find it - **Items → Import** for your catalogue. - **Recipes → Import** for bills of materials. - **Stock → Import** for opening balances and purchase history. Each page also has a **Download sample file** link showing the columns Jogan understands. ## Steps 1. Click **Import** and choose a `.xlsx`, `.xls` or `.csv` file. Files up to 10 MB and 20,000 rows are accepted. 2. **Map your columns.** Each of your column headings is listed with a few sample values and Jogan's best guess at the matching field. Change any guess, or set a column to **Do not import**. 3. **Review before importing.** You see how many rows are valid and how many will be skipped, with the reason for each skipped row. You can download the invalid rows as a file to fix and re-import later. 4. Click import. Valid rows are saved; invalid rows are skipped, never half-saved. ## What each import accepts **Items** (one row per item): SKU, name, unit, category, cost price, selling price, minimum stock, track expiry (yes/no), shelf life days. SKU and name are required. If track expiry is yes, shelf life is required. **Recipes** (one row per component line): output item SKU, output quantity (units per batch), component SKU, component quantity. Rows with the same output SKU are grouped into one recipe. Every SKU must already exist in Items, so import items first. **Stock** (one row per movement): SKU, type (such as `opening` or `purchase`), quantity, unit cost, date, notes, expiry date, batch number. The SKU must exist. Expiry date and batch number only apply to expiry-tracked items. ## Order of operations for a new workspace 1. Items. 2. Recipes. 3. Stock: one `opening` row per item with your current count and average cost. ## Tips - **Clean the SKU column first.** It is the key that links recipes and stock to items. Trailing spaces and inconsistent capitalisation are the usual cause of "unknown SKU" skips. - **Keep units consistent.** The importer does not convert grams to kilograms. - **Import a small file first** to see how the mapping behaves, then the full list. - **Check your plan's room.** An item or recipe import that would go past your plan's limit is refused as a whole, with how many more fit. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). --- # How to set up a recipe (bill of materials) > Go to Recipes, click New recipe, choose the output item and how many units one batch makes, then add each component and its quantity per batch. Jogan shows the material cost and cost per unit, and production uses the recipe to consume components and add finished goods. _Category: Getting started · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/set-up-a-recipe_ A recipe (also called a bill of materials, or BOM) tells Jogan what goes into a product and how much. Once it exists, **Production** can turn components into finished goods with the stock and cost worked out, and the sales form can even produce on the spot when a product is short. A recipe does not, by itself, deduct anything. Stock moves when you run production or record a sale. See [What happens when you record a sale](https://jogan.cloud/help/what-happens-when-you-record-a-sale). ## Before you start Both the finished item and every component must already exist in **Items**. See [How to add your items](https://jogan.cloud/help/add-your-items). ## Steps 1. Open **Recipes** and click **New recipe**. 2. Choose the **Output item**, the thing this recipe makes. 3. Set **Units per batch**, how many units of the output one batch produces. For a cake recipe that makes one cake, enter 1. For a masala blend that makes 40 packets, enter 40. 4. Under **Components**, select a component item and enter the **quantity used per batch**, in that item's own unit. Add a line for each ingredient or part. 5. Save. The recipe's **Material cost** (per batch) and cost per unit appear in the list and update whenever a component's average cost changes. ## Rules - One active recipe per output item. - The output item cannot be one of its own components. - Each component can appear only once in a recipe. - Your plan limits how many items can have an active recipe. Changing an existing recipe never counts against it. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). ## Quantities: per batch, in the item's unit If flour is stocked in kilograms, enter 0.3 for 300 grams. If eggs are stocked in pieces, enter 12 for a dozen. Mismatched units are the most common cause of stock "draining" too fast or too slowly. ## Example Output item *Mango pickle 500 g*, units per batch 20. Components: raw mango 6 kg, mustard oil 2 litre, salt 0.5 kg, spice mix 0.4 kg, glass jar 20 pcs. Jogan shows the batch material cost and divides by 20 for the cost of one jar. ## Changing a recipe Click the pencil icon, adjust and save. Future production runs use the new recipe. Past runs and sales are history and do not change. ## Deleting a recipe Only an Admin can delete. Deleting a recipe removes just the recipe; production runs and sales already made stay as history. ## Importing many recipes If you have recipes in a spreadsheet, use **Recipes → Import**, one row per component line. See [How to import from Excel](https://jogan.cloud/help/import-from-excel). ## Next [How to run production](https://jogan.cloud/help/run-production). --- # How to record your opening stock > On the Stock page, click Record movement, choose the type Opening, select the item, enter the quantity you have on the shelf and its cost per unit, and save. Do this once per item when you start, so the ledger matches reality from day one. _Category: Getting started · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/record-opening-stock_ Jogan works out stock from movements, so a new item starts at zero. An **Opening** movement tells it what you already have. ## Steps 1. Count what is on the shelf for each item. 2. Open **Stock** and click **Record movement**. 3. Set the type to **Opening** and choose the item. 4. Enter the **Quantity** in the item's unit. 5. Enter the **Unit cost**, what one unit cost you. If you leave it blank, the item's current cost price is used. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). 6. For an expiry-tracked item, enter the **Expiry date** and optionally a **Batch number**. Leave the expiry blank to use the item's shelf life counted from today. If you have several batches with different dates, record one Opening movement per batch. 7. Save. The item's stock and the Dashboard's stock value update immediately. ## Many items at once Use **Stock → Import** with one `opening` row per item (SKU, type, quantity, unit cost, and expiry date or batch number where relevant). See [How to import from Excel](https://jogan.cloud/help/import-from-excel). ## Got the count wrong? Click **Reverse** on the opening entry's row on the Stock page and record it again with the right count, or record an **Adjustment in** or **Adjustment out** for the difference. Movements are never edited or deleted, so the correction sits in the ledger as its own line. See [How to correct a count or record waste](https://jogan.cloud/help/stock-adjustments-and-waste). ## What next [How to record a sale](https://jogan.cloud/help/record-a-sale), or [How to log incoming stock](https://jogan.cloud/help/log-incoming-stock) when the next delivery arrives. --- # How to add team members and set their roles > An Admin goes to Settings → Team, clicks Add user, enters the person's name, email, a password and a role (Admin, Member or Read-only), and shares the workspace address and password with them. There is no email invitation; the account works immediately. _Category: Getting started · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/add-team-members_ Each person on your team gets their own login. Only an **Admin** can add, change or remove team accounts. ## Steps 1. Open **Settings** and switch to the **Team** tab. 2. Click **Add user**. 3. Enter their **Name**, **Email** and a **Password** (at least 8 characters, an uppercase letter and a symbol). 4. Choose a **Role**: - **Admin**: full access, including deleting data and managing accounts. - **Member**: can create and edit day-to-day data (items, recipes, production, sales, stock) but cannot delete anything. - **Read-only**: can see everything and change nothing. 1. Save. Tell the person the workspace address (`yourworkspace.jogan.cloud`), their email and the password. They can change the password themselves afterwards under **Settings → Profile**. There is no invitation email. The account is active as soon as you save it. ## Which role for whom - The owner and anyone who reconciles stock or fixes mistakes: **Admin**. - Kitchen, floor and counter staff who record production, purchases and sales: **Member**. They can do all the daily work and cannot un-build the ledger by accident. - An accountant, investor or supervisor who needs to look: **Read-only**. See [Team roles explained](https://jogan.cloud/help/team-roles-explained) for the full list of what each role can do. ## Changing a role, resetting a password, removing a person All from the same **Team** tab: - Change the role from the drop-down on their row. It takes effect on their next request, immediately. - **Reset password** sets a new password for them. - **Remove user** deletes their account and ends their access. Records they created stay. ## How many people can I add? Plans include a team size: Starter up to 3, Growth up to 5, Scale up to 10. Adding someone past it is refused with a "Plan limit reached" message; remove someone who has left, or upgrade. This is the same whether you pay monthly or yearly. Need more than 10? Tell us what you need in the chat bubble and we will put together a plan that fits. See [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). --- # Where to find help inside the app > In your workspace, the book icon in the top bar opens a short guide for the page you are on and a button to replay the guided tour. The chat bubble in the corner reaches a person. Small question-mark icons next to fields explain them. _Category: Getting started · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/help-inside-the-app_ Jogan tries to explain itself where you are, so you rarely need to leave the screen. ## The guided tour On your first sign-in a tour highlights each item in the sidebar and says in one line what it is for: Dashboard, Items, Recipes, Production, Sales, Reports, Stock, Batches and Settings. You can skip it and replay it later. ## Page guides (the book icon) Click the **book icon** in the top bar on any page. A panel opens with three or four short points about that page: what the numbers mean, what the buttons do and what to watch for. At the bottom are **Take a guided tour** and **Open the help center**, which brings you here. ## Field hints A small **?** next to a field opens a one-sentence explanation. You will see them on the sales form, stock movement form and settings. ## Chat with a person The **chat bubble** in the corner of every page (including this help center) opens a conversation with Jogan support. If you are signed in, we already know which workspace you are writing from. ## This help center Search from the [help center home](https://jogan.cloud/help), or browse by category. Every article opens with the direct answer, then the steps. Articles are also available as plain Markdown by adding `.md` to the address, which is handy for pasting into a message. --- # Daily use Stock in, produce, sell, and read the numbers. The things you do every day. --- # How to record a sale > Go to Sales and click Record sale. Add one or more items with quantity and price, optionally a discount, and save. Stock comes down immediately, profit is worked out at each item's current cost, and the sale gets an invoice number you can open and print. _Category: Daily use · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/record-a-sale_ Recording a sale takes a few seconds. You need the product in **Items** and enough of it in stock, or a recipe so Jogan can produce it on the spot. ## Steps 1. Open **Sales** and click **Record sale**. The **Record a sale** shortcut on the Dashboard opens the same form. 2. For each line, search and **select an item**, enter the **quantity**, and confirm the **unit price**. The price is filled from the item's selling price and you can change it for this sale. 3. Add more lines if the customer bought several things. 4. Check the **Date of sale**. It is today unless you change it; pick an earlier day to record a sale that already happened. Future dates are not allowed. 5. Optionally enter a **Discount**, a flat amount off the total. 6. Check the subtotal and total, then save. The **Stock overview** panel on the form lists every item with what is in stock, grouped by whether it can be produced or by category, so you can see availability while you sell. ## Recording a past sale Pick the day in **Date of sale** and a note under the field confirms the sale is backdated, with **Use today** to switch back. The sale, its stock movements and its invoice number (`INV-` plus that day's date) all carry the date you chose, so it lands on that day in reports. The date you pick stays on the form for your next sales that same day in that browser tab, handy when you are entering a stack of paper receipts. Close the tab or come back tomorrow and it starts at today again. A backdated sale is costed at the item's average cost **now**, and it uses the stock you have **now**. It counts toward this month's sales cap, whatever day you pick. ## You cannot sell what you do not have If a quantity is more than the stock on hand, the form marks the line and refuses to save. The available figure shown is the current stock. There are two ways forward: - **Stock it in first** (a purchase, or a production run), then record the sale. - **Auto-produce.** Tick **Auto-produce items not yet in stock**. For any line that is short and whose item has a recipe, Jogan runs the recipe for the shortfall as part of the sale, in whole batches. The available figure then includes what can be produced from the components you have. If the components are also short, the sale is refused with a list of what is missing. See [How to run production](https://jogan.cloud/help/run-production). ## What happens when you save Stock is deducted, each line is costed at the item's current average, the sale is numbered `INV-YYMMDD-0001` style, and the Dashboard and Reports update at once. Full detail in [What happens when you record a sale](https://jogan.cloud/help/what-happens-when-you-record-a-sale). ## After saving - Click the invoice number in the Sales list to open the receipt. See [How to view and print a receipt](https://jogan.cloud/help/view-and-print-a-receipt). - Got something wrong? Open the sale and click **Edit sale** to change its items, quantities, prices, discount or date. The stock is put right for you and the invoice number stays. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). ## Plan limits Each recorded sale counts toward your plan's monthly sales cap. If you are at the cap, the sale is refused with an upgrade prompt. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). ## Tips - **Record sales as they happen**, not at the end of the day, so stock levels stay true for everyone. Backdating is for catching up, not the routine. - **Members can record sales; Read-only accounts cannot.** See [Team roles explained](https://jogan.cloud/help/team-roles-explained). --- # What happens to stock and profit when you record a sale? > Saving a sale writes one stock-out movement per line at the item's current weighted-average cost, reduces stock, draws down the oldest expiry batch first, freezes that cost on the line for profit, counts one sale toward your monthly cap, and assigns an invoice number. Ingredients are not touched unless the sale auto-produces. _Category: Daily use · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/what-happens-when-you-record-a-sale_ Everything below happens in one transaction: either the whole sale is recorded or nothing is, so a shortage can never leave a half-recorded sale behind. ## Step by step 1. **Cap check.** One sale is reserved against your plan's monthly sales limit. At the cap, the sale is refused. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). 2. **Stock check.** Each line is checked against the item's current stock. A shortfall refuses the sale unless auto-produce is ticked. 3. **Auto-produce (optional).** For each short item with a recipe, a production run is recorded for the shortfall, rounded up to whole batches: components leave stock at their average cost, the finished item enters at the rolled-up cost. This is the only situation in which a sale touches ingredients. 4. **Stock-out per line.** A `sale` movement is written for each line, costed at the item's weighted-average cost at that moment. The item's stock falls by the quantity. 5. **Batch draw-down.** For expiry-tracked items, the quantity is taken from the batch expiring soonest, spilling into the next when one runs out. The movement records which lots it drew from. 6. **Cost frozen on the line.** Each line stores the unit price and the cost at sale, so profit is fixed now and does not change when future purchases move the average. 7. **Invoice number.** `INV-` plus the sale's date (the day you picked, for a backdated sale) and a daily sequence, unique in your workspace. ## Does a sale deduct recipe ingredients? Not normally. Ingredients are consumed when you **run production**, which is when the finished item is made and added to stock. A sale then deducts the finished item. If you sell things you make to order and do not want a separate production step, tick **Auto-produce items not yet in stock** on the sale; Jogan runs the recipe for the shortfall as part of the sale. See [How to run production](https://jogan.cloud/help/run-production). ## What you see afterwards - **Items**: the item's stock is lower. - **Stock**: a `Sale` movement for each line with the cost used. - **Batches**: the batch quantity is lower; a batch at zero shows as Sold out. - **Dashboard**: Today's sales and Today's profit include it. - **Reports → Sales / Profit**: totals and the by-item breakdown include it. See [How profit is calculated](https://jogan.cloud/help/how-profit-is-calculated). ## Undoing it Only an Admin can delete a sale. Deletion restores the stock and the batch quantities it drew from and removes it from the reports. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). --- # How to run production from a recipe > Go to Production, click Run production, choose a recipe and enter how many units to make. Jogan shows what will be consumed, then takes the components out of stock at their average cost and puts the finished goods in at the rolled-up cost per unit. _Category: Daily use · Updated 2026-09-06 · Canonical: https://jogan.cloud/help/run-production_ Production is how a recipe becomes stock. It is the step that consumes ingredients and creates finished goods, and it is what gives a made item its true cost. ## Before you start - The recipe exists. See [How to set up a recipe](https://jogan.cloud/help/set-up-a-recipe). - The components are in stock in enough quantity. Production refuses to consume more than you have. ## Steps 1. Open **Production** and click **Run production**. 2. Select the **Recipe**. 3. Enter the **Quantity** to produce, in units of the output item. Any amount works; the form reminds you what one batch makes and the recipe scales up or down. Under **This will consume**, Jogan shows each component and the amount that will leave stock, plus the projected material cost. 4. Save. You will see **Production complete**. ## What happens - A `production_consumption` movement takes each component out at its current average cost. - A `production` movement puts the output into stock at total material cost ÷ quantity produced, re-averaging the finished item's cost. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). - If the output item tracks expiry, a batch is created with an expiry date of today plus the item's shelf life, and a batch number, so the finished goods appear on the Batches page with their date. See [How expiry tracking works](https://jogan.cloud/help/track-expiry-and-batches). - Components that track expiry are drawn from their oldest batch first. ## "Insufficient stock" Production stops if any component is short, naming the item and what is available. Stock in the missing component (a purchase) or reduce the quantity. See [How to log incoming stock](https://jogan.cloud/help/log-incoming-stock). ## Producing at the moment of sale If you make to order, you can skip a separate production step by ticking **Auto-produce items not yet in stock** on the sales form. Jogan runs the recipe for the shortfall as part of the sale. See [How to record a sale](https://jogan.cloud/help/record-a-sale). ## Undoing a run Only an Admin can delete a production run. Deleting it un-builds the run: the consumed components come back, the output leaves, its batch is removed, and any sale that had drawn from that batch is corrected. Jogan shows the full impact before you confirm. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). --- # How to log incoming stock (purchases) > On the Stock page, click Record movement, choose Purchase, select the item, enter the quantity received and the cost per unit, add an expiry date for perishable items, and save. Stock and the item's average cost update immediately. _Category: Daily use · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/log-incoming-stock_ Every delivery is a stock-in. Recording it does two things: it raises the stock so you can sell or produce, and it feeds the price you paid into the item's average cost, which is what makes your profit figures honest. ## Steps 1. Open **Stock** and click **Record movement**. 2. Choose the type **Purchase**. (**Return** is for goods a customer brought back; **Adjustment in** is for corrections.) 3. Select the **Item**. If it is not in the list yet, add it under Items first. 4. Enter the **Quantity** received, in the item's unit. 5. Enter the **Unit cost**, what you paid for one unit. Leave it blank only if the price has not changed; a blank uses the item's current cost. 6. If the item tracks expiry, enter the **Expiry date** from the label. Leave it blank to use the shelf life set on the item, counted from today. Enter a **Batch number** if you have one; otherwise Jogan assigns one like `B-260905-0001`. 7. Add a **note** if useful (supplier, invoice number) and save. ## Several items in one delivery Record one movement per item. Or, for a long delivery note, use **Stock → Import** with one `purchase` row per line. See [How to import from Excel](https://jogan.cloud/help/import-from-excel). ## Same item, different expiry dates Record them as separate movements, one per date. Each becomes its own batch, and the older one will be used first. ## What changes - The item's stock rises. - Its average cost re-weights: (old quantity × old cost + new quantity × new cost) ÷ total quantity. Every recipe using the item updates its material cost. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). - The Dashboard's stock value rises. - For expiry-tracked items, a new batch appears on the Batches page. ## Made a mistake? Movements are never edited or deleted. Click **Reverse** on the wrong entry's row on the Stock page: Jogan posts the opposite entry on the same date and corrects the average cost. Then record the right one. If part of it was already used or sold, record an **Adjustment out** for the excess (or **Adjustment in** for the shortfall) with a note instead. See [How to correct a count or record waste](https://jogan.cloud/help/stock-adjustments-and-waste). --- # How to correct a stock count or record waste, damage and returns > Use Stock → Record movement with the right type. Adjustment in and Adjustment out fix counts; Waste, Damaged and Expired record stock you threw away; Return records goods a customer brought back. Every movement stays in the ledger with its note. _Category: Daily use · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/stock-adjustments-and-waste_ The Stock page is an append-only ledger: nothing is edited or removed, you add a movement that explains what happened. That is what makes the history trustworthy. An entry made by mistake is undone with **Reverse** on its row, which adds the opposite entry rather than deleting anything. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). ## The movement types | Type | Direction | Use it when | | --- | --- | --- | | **Opening** | in | Setting the starting balance of a new item. | | **Purchase** | in | A delivery arrived. Enter the unit cost. | | **Return** | in | A customer brought goods back into sellable stock. | | **Adjustment in** | in | A count found more than the system shows. | | **Adjustment out** | out | A count found less than the system shows. | | **Waste** | out | Spillage, trimmings, over-production you discarded. | | **Damaged** | out | Broken, spoiled in transit, unsellable. | | **Expired** | out | Past its date. Usually recorded for you by a batch write-off. | Sales and production movements (`Sale`, `Used in production`, `Production`) are created by those modules and appear in the same ledger. ## Steps 1. Open **Stock** and click **Record movement**. 2. Choose the type, the item and the quantity. 3. For stock-ins, enter the **Unit cost** (blank keeps the current average). For expiry-tracked items, enter the expiry date and batch number. 4. Write a short **note**: "count 5 kg short", "dropped tray", "customer return INV-260905-0003". 5. Save. ## Costing Stock-outs of every kind leave at the item's current average cost; they never change the average. Stock-ins at a price re-weight it. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). ## Expiry-tracked items Any stock-out, including waste and adjustments, is drawn from the oldest batch first. To dispose of a whole expired batch, use the write-off on the Batches page instead, which records the `Expired` movement for exactly what is left. See [How to write off expired stock](https://jogan.cloud/help/write-off-expired-stock). ## Who can do this Admins and Members. Read-only accounts can view the ledger but not add to it. ## Reviewing the history **Stock** lists every movement, newest first. **Reports → Stock movements** lets you filter by item and type over a date range and shows the running balance. See [How to read your reports](https://jogan.cloud/help/read-your-reports). --- # How to check current stock levels and stock value > The Items page shows each item's stock and status. Reports → Inventory shows every item with quantity, minimum, unit cost and value, and Reports → Low stock lists what is at or below its minimum. The Dashboard shows total stock value and the low-stock count. _Category: Daily use · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/check-stock-levels_ Stock in Jogan is always current: it changes the instant a purchase, sale, production run or adjustment is saved. There is no end-of-day recalculation. ## Quick look: the Items page Each row shows **In stock** with the quantity and a status badge (**In stock**, **Low stock**, **Out of stock**), plus cost and selling price. Search by name to find one item. ## The full picture: Reports → Inventory A snapshot of every item with: - **Quantity** on hand and the unit. - **Minimum** and **Status**. - **Unit cost**, the current weighted average. - **Value**, quantity × unit cost, and the total across the workspace. Use it before a busy period, at month-end, or whenever you want to know what your shelves are worth. See [How to read your reports](https://jogan.cloud/help/read-your-reports). ## What is running low: Reports → Low stock Every item at or below its minimum stock. The same list appears on the Dashboard with a count in the **Low stock items** card. Set minimums on the items that stop you producing or selling. See [How to add your items](https://jogan.cloud/help/add-your-items). ## What is about to expire: Batches Stock levels tell you how much; the **Batches** page tells you how old. See [How expiry tracking works](https://jogan.cloud/help/track-expiry-and-batches). ## The number looks wrong Almost always a sale or a delivery was not recorded, or a recipe quantity is in the wrong unit. See [Why does my stock show the wrong amount?](https://jogan.cloud/help/stock-shows-wrong-amount). --- # How expiry tracking and batches work > Turn on Track expiry for an item and give it a shelf life. Every stock-in of that item then creates a dated batch. Stock-outs draw from the batch expiring soonest, batches due within 30 days are flagged Expiring, expired ones are flagged and shown on the Dashboard, and you write off what is past its date. _Category: Daily use · Updated 2026-09-06 · Canonical: https://jogan.cloud/help/track-expiry-and-batches_ Expiry tracking is per item. For items with it switched on, Jogan keeps stock in **batches**, each with a manufactured date, an expiry date and a remaining quantity, and always uses the oldest first. ## Step 1: mark the item When adding or editing an item, tick **Track expiry** and enter its **Shelf life (days)**. See [How to add your items](https://jogan.cloud/help/add-your-items). ## Step 2: batches are created on every stock-in Whenever an expiry-tracked item comes in, a batch is created: - A **purchase**, **opening**, **return** or **adjustment in** on the Stock page: enter the expiry date from the label, or leave it blank to use the shelf life counted from the movement date. Enter a batch number or let Jogan assign one (`B-YYMMDD-0001`). - A **production run**: the finished goods get a batch expiring today plus shelf life. Two deliveries with different dates should be two movements, so they become two batches. ## Step 3: stock-outs draw down the oldest batch Every sale, production consumption, waste, damage or adjustment-out of an expiry-tracked item is taken from the batch that expires soonest, then the next. Sale lines remember which batch they came from. You do not choose a batch on the form; first-expiring-first-out is automatic. ## The Batches page Opens on the **Active** tab, which lists every lot still on the shelf. **Expiring**, **Expired**, **Sold out** and **Written off** tabs filter the rest, so a batch that has run out or been written off moves to its own tab rather than vanishing. Each row shows the item with **Manufactured**, **Expires**, remaining quantity and a **Status**: | Status | Meaning | | --- | --- | | **Active** | In stock, more than 30 days from expiry. | | **Expiring** | In stock, expires within 30 days. | | **Expired** | Past its date and still counted in stock. Write it off. | | **Sold out** | Fully used through sales or production. On the Sold out tab. | | **Written off** | Removed by a write-off. On the Written off tab. | ## Where you are warned - The **Dashboard** shows a banner for batches expiring soon and a warning that expired stock is still counted in inventory. - **Reports → Expired / Expiring** lists expired batches and those due within 30 days, with days left. ## Dealing with expired stock An expired batch still counts as stock and stock value until you write it off. See [How to write off expired stock](https://jogan.cloud/help/write-off-expired-stock). ## Costing is unaffected Batches are for dates and traceability only. Cost stays one weighted average per item. See [How Jogan works out cost](https://jogan.cloud/help/how-costing-works). --- # How to write off expired stock > Go to Batches, find the batch marked Expired, and use its write-off action. Jogan records an Expired stock-out for whatever remains in the batch, removes it from stock and stock value, and marks the batch Written off. _Category: Daily use · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/write-off-expired-stock_ Until you write it off, an expired batch is still counted in your stock and your stock value. Writing it off records the loss properly and clears the warning. ## Steps 1. Open **Batches**. Batches past their date show the **Expired** status. The Dashboard banner also links here. 2. On the batch's row, click the write-off action. 3. Confirm. Jogan records an **Expired** movement for the quantity left in that batch, costed at the item's average, notes which batch it was, and marks the batch **Written off**. The item's stock falls by that amount. ## Who can do this Admins and Members. ## Writing off part of a batch, or non-expired stock The batch write-off removes everything left in the batch. For a partial loss, or for damage and waste unrelated to expiry, record a **Waste** or **Damaged** movement on the Stock page for the quantity concerned; it is drawn from the oldest batch. See [How to correct a count or record waste](https://jogan.cloud/help/stock-adjustments-and-waste). ## Seeing what you have written off - **Batches**: the Written off tab. - **Stock** or **Reports → Stock movements**: filter by the Expired type to total losses over a period. ## Reducing write-offs Check **Reports → Expired / Expiring** or the Dashboard banner before each production run and use the oldest stock first. Jogan already draws from the oldest batch automatically; the report tells you what to sell or cook through next. --- # How to read your reports > Reports has six tabs. Sales and Profit cover a date range with daily totals and a by-item breakdown; Inventory values every item; Low stock lists what is at or below minimum; Stock movements is the filterable ledger with running balance; Expired / Expiring shows batches that need attention. _Category: Daily use · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/read-your-reports_ Reports are live. Every figure is worked out from the ledger and the sales you have recorded, so the numbers are current the moment you open the page. ## Sales Choose a **date range**. You get **Daily totals**, the number of **days with sales**, and an **Item breakdown** of quantity and revenue per product. Use it to see what sold, when, and to check that the team recorded everything on a quiet-looking day. ## Profit For the same date range: **Revenue**, **Cost of goods sold**, **Gross profit** and **Margin**, then **By item** so you can see which products earn most and which margins are shrinking. Cost is the weighted-average cost frozen on each sale line. See [How profit is calculated](https://jogan.cloud/help/how-profit-is-calculated). ## Inventory Every item with quantity, minimum, status, **unit cost** and value, plus the total value of stock in your reporting currency. See [How to check stock levels](https://jogan.cloud/help/check-stock-levels). ## Low stock Items at or below their minimum stock. Also on the Dashboard. ## Stock movements The ledger for a date range, filterable by **item** and **type** (purchase, sale, production, waste and so on), with the **balance** after each movement. Use it to trace why a number moved. See [How to correct a count or record waste](https://jogan.cloud/help/stock-adjustments-and-waste). ## Expired / Expiring **Expired batches** still in stock, and batches **expiring within 30 days** with days left. See [How to write off expired stock](https://jogan.cloud/help/write-off-expired-stock). ## Reports are only as good as the recording - Sales recorded outside Jogan do not exist here. - A purchase logged without a unit cost keeps the old average and flatters profit. - Recipe quantities in the wrong unit make consumption, and therefore finished-goods cost, wrong. ## Exporting There is no export button yet. Tables can be selected and copied, or printed from the browser. If you need a specific export, tell us in the chat. --- # What the dashboard shows > The Dashboard has four cards (Today's sales, Today's profit, Stock value, Low stock items), a list of recent sales, a list of low-stock items, a banner when batches are expiring or expired, and a Record a sale shortcut. _Category: Daily use · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/dashboard-overview_ The Dashboard is the first page after sign-in and the one to glance at during the day. ## The four cards - **Today's sales**: total of sales recorded today, in your reporting currency. - **Today's profit**: revenue minus cost of goods sold for today's sales. See [How profit is calculated](https://jogan.cloud/help/how-profit-is-calculated). - **Stock value**: quantity × average cost across every item. - **Low stock items**: how many items are at or below their minimum. ## Recent sales The latest invoices with date, total and who recorded them. Click one to open its receipt. See [How to view and print a receipt](https://jogan.cloud/help/view-and-print-a-receipt). ## Low stock The items at or below minimum, with quantity and minimum side by side. When everything is fine it says so. ## Expiry banner If any expiry-tracked batch is expired or expiring within 30 days, a banner appears. Expired stock is still counted in inventory until you write it off, and the banner says so. See [How to write off expired stock](https://jogan.cloud/help/write-off-expired-stock). ## Record a sale A shortcut pinned at the top right opens the sales form without leaving the Dashboard. See [How to record a sale](https://jogan.cloud/help/record-a-sale). ## Everything is per workspace All figures are for your workspace only, in its currency. See [Is my data safe?](https://jogan.cloud/help/is-my-data-safe). --- # How to view and print an invoice or receipt > Open Sales and click the invoice number to open the sale. The page shows every line with quantity, unit price, amount and the cost on this sale, plus subtotal, discount, total and notes. Print it with your browser's print command. _Category: Daily use · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/view-and-print-a-receipt_ Every sale gets an invoice number in the form `INV-YYMMDD-0001`: the date, then a sequence for that day. ## Steps 1. Open **Sales**. Sales are listed newest first with invoice number, date, total and who recorded them. 2. Click the invoice number. The sale opens on its own page. 3. To print or save as PDF, use your browser's print command (Ctrl+P or Cmd+P on a computer; the share or menu button on a phone). ## What is on the receipt - The invoice number and date. - Each line: item, quantity and unit, **unit price**, **amount**, and **cost on this sale** (the weighted-average cost at the time, useful for you, so you can see the margin). - **Subtotal**, **Discount**, **Total** and any notes. ## Changing a sale Only the notes can be edited after saving. If a quantity or price is wrong, an Admin deletes the sale and it is recorded again. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). --- # Account, team and billing Roles, passwords, currency, plans, trials and renewals. --- # What can Admins, Members and Read-only users do? > Admins can do everything, including deleting data and managing the team. Members can create and edit items, recipes, production, sales and stock movements but cannot delete anything or manage accounts. Read-only users can see everything and change nothing. _Category: Account, team and billing · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/team-roles-explained_ Jogan has three roles. They are enforced on the server for every request, so a change of role takes effect immediately, even for someone already signed in. ## At a glance | Action | Admin | Member | Read-only | | --- | --- | --- | --- | | View everything: dashboard, items, stock, sales, reports | Yes | Yes | Yes | | Add and edit items, recipes | Yes | Yes | No | | Record purchases, adjustments, waste | Yes | Yes | No | | Run production | Yes | Yes | No | | Record sales | Yes | Yes | No | | Edit sales; reverse stock entries | Yes | Yes | No | | Write off expired batches | Yes | Yes | No | | Import from Excel | Yes | Yes | No | | Delete items, recipes, sales, production runs | Yes | No | No | | Clear an item's stock history | Yes | No | No | | Add, remove team members; change roles; reset passwords | Yes | No | No | | Change workspace currency; request renewal or plan change | Yes | No | No | | Change own password | Yes | Yes | Yes | ## Why deleting is admin-only A Member runs the business day to day. Deleting is different: it un-builds the ledger, restoring stock and rewriting history. That is an owner's decision, so it sits with Admins. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). ## What a Read-only user sees The whole workspace, with the action buttons absent. The account menu shows a **Read-only** badge to explain why. ## Changing roles Admins do it under **Settings → Team**. See [How to add team members](https://jogan.cloud/help/add-team-members). ## The Platform admin badge If you ever see **Platform admin** on the account in the sidebar, that session belongs to Jogan support entering your workspace to help, not to a member of your team. See [Is my data safe?](https://jogan.cloud/help/is-my-data-safe). --- # How to change or reset a password > Change your own password under Settings → Profile using your current password. If you have forgotten it, use the "Forgot password?" link on the sign-in page and Jogan emails you a one-time reset link. Admins can also reset a teammate's password under Settings → Team. _Category: Account, team and billing · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/change-your-password_ Passwords in Jogan are managed on your account: change your own under Profile, reset a forgotten one by email, and an Admin can reset anyone else's under Team. ## Change your own password 1. Open **Settings**. The **Profile** tab is selected. 2. Enter your **current password** and the **new password** (at least 8 characters, with an uppercase letter and a symbol). 3. Save. Use the new password from your next sign-in. Every role can do this, including Read-only. Changing your password **signs you out on every other device and browser**. The one you used to change it stays signed in. If you think someone else knows your password, changing it cuts them off straight away. ## Forgotten your password 1. On the sign-in page, click **Forgot password?**. 2. Enter the email on your account and submit. If an account exists for that address, Jogan emails a **reset link** that expires in 1 hour. 3. Open the link, choose a new password, and sign in with it. The reset link works once. If you need another, request a fresh one. Jogan sends at most 3 reset emails for the same address every 15 minutes, so if one does not arrive, check spam before asking again. Setting a new password this way signs out every device that was signed in to the account. ## Admin resets a teammate's password 1. Admin opens **Settings → Team**. 2. On the member's row, clicks **Reset password** and enters a new one. 3. Tells the member the new password. They sign in with it, then change it under Profile. The reset signs the member out on every device, so anyone using their old password or an old session loses access at once. ## Console accounts Platform-console sign-in has the same **Forgot password?** link and email reset. ## If you cannot access the email on the account Ask an admin of your workspace to reset it for you: under **Settings → Team**, an admin can set a new password for any member and hand it to you directly. If you are the only admin, message us through the chat bubble on the Jogan homepage or help center with your workspace address and the name on your account, and we will verify who you are and help you regain access. ## Good practice - One account per person. Shared logins make the "recorded by" column meaningless. - Remove people who leave under **Settings → Team**. See [How to add team members](https://jogan.cloud/help/add-team-members). --- # How to change the workspace currency > An Admin opens Settings → Workspace and picks the reporting currency from the list. Every price, cost and report in the workspace is then shown in that currency. Amounts are not converted; only the symbol and formatting change. _Category: Account, team and billing · Updated 2026-09-11 · Canonical: https://jogan.cloud/help/workspace-currency_ Each workspace has exactly one reporting currency, chosen when the workspace is created and changeable at any time. ## Steps 1. Open **Settings** and switch to the **Workspace** tab. 2. Choose the **Reporting currency**. 3. Save. The new symbol appears throughout the workspace immediately. Only Admins can change it. ## Available currencies USD ($), EUR (€), GBP (£), BDT (৳), INR (₹), PKR (₨), AED, SAR, AUD (A$), CAD (C$), JPY (¥), NPR. ## What it does not do It does not convert existing numbers. A cost recorded as 50 stays 50 and is simply labelled with the new symbol. Set the currency once, at the start. ## Plan prices Plan prices are in US dollars on the English site, and are separate from your workspace reporting currency. See [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). --- # Pricing and plans explained > Jogan has monthly and yearly plans. Starter is $5 a month or $50 a year, Growth $15 or $150, and Scale $40 or $400. Every plan includes every feature; they differ in the monthly sales cap, team size and catalogue size. Pay yearly and two months are free. All plans start with a free trial and no card. _Category: Account, team and billing · Updated 2026-10-17 · Canonical: https://jogan.cloud/help/pricing-and-plans_ All plans include the full product: items, stock ledger, recipes, production, sales, batches and expiry, reports, import and team roles. You pay for room to operate, not for features. The pricing section on the Jogan homepage is always the current list. Each plan can be billed monthly or yearly. The limits stay the same; only how often you pay changes. Yearly works out cheaper, because you pay for ten months and get twelve. ## Monthly plans | | Starter | Growth | Scale | | --- | --- | --- | --- | | Price | $5 / month | $15 / month | $40 / month | | Sales a month | 500 | 2,000 | 5,000 | | People on the team | 3 | 5 | 10 | | Items you can track | 200 | 1,000 | Unlimited | | Recipes | 50 | 200 | Unlimited | | Free trial | 30 days | 30 days | 30 days | ## Yearly plans | | Starter Yearly | Growth Yearly | Scale Yearly | | --- | --- | --- | --- | | Price | $50 / year | $150 / year | $400 / year | | Sales a month | 500 | 2,000 | 5,000 | | People on the team | 3 | 5 | 10 | | Items you can track | 200 | 1,000 | Unlimited | | Recipes | 50 | 200 | Unlimited | | Free trial | 30 days | 30 days | 30 days | A yearly plan is the same plan as its monthly counterpart, billed once for the whole year. You pay for ten months and get twelve, so two months are free. Starter Yearly is $50 instead of $60. The sales cap still counts per calendar month and resets on the 1st, so a yearly plan does not give you a whole year of sales at once. Two different "months" are involved. Billing runs in 30-day periods from the day the plan starts, so your renewal date depends on when you signed up. The sales cap, on the other hand, counts per calendar month and resets on the 1st, whatever your billing date is. ## What counts as a sale Each saved sale is one, regardless of how many lines it has. Production runs, purchases and adjustments do not count. The counter resets at the start of each calendar month and is shown under **Settings → Subscription**. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). ## Which plan - Just starting, or under 500 sales a month with up to 3 people: **Starter**. - 500 to 2,000 sales a month, or 4 or 5 people: **Growth**. - More than that, or a very large catalogue: **Scale**. - Not sure? Start on Starter; you can change plan later and keep all your data. ## Monthly or yearly? Monthly keeps the commitment small. Yearly suits you if you expect to stay, and it gives you two months free. You can start monthly and move to yearly later, or the other way round. ## Bigger than Scale? More than 10 people, or more than 5,000 sales a month? The standard plans do not go higher, but Jogan can: tell us what you need in the chat bubble and we will put together a plan that fits. ## How to pay Prices on this page are in US dollars, and a workspace billed in US dollars pays by **card** on the renew page: choose the plan, click **Pay by card**, and the plan activates as soon as the payment clears. Once a workspace pays by card, the same card renews the plan automatically, and a change of plan is charged or credited straight away. A workspace set to **BDT** is billed in Bangladeshi taka and can pay by **card** or **bKash**. By bKash, send the amount shown to the bKash number on the renew page and file a renewal request; a platform admin matches the payment and activates the plan. See [How to renew or change your plan](https://jogan.cloud/help/renew-or-change-plan). ## Related - [How the free trial works](https://jogan.cloud/help/free-trial-explained) - [What happens when your plan ends](https://jogan.cloud/help/when-your-plan-ends) --- # How the free trial works > Every new workspace gets a 30-day free trial of the plan it chose, with that plan's full features and caps, and no card. When the trial ends nothing is locked or deleted; you see a reminder and can continue on the same plan or switch to another. _Category: Account, team and billing · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/free-trial-explained_ The trial is the plan you chose, free for 30 days, with nothing to pay and no card to enter. It is meant to let you run Jogan on your real products before deciding. ## Starting the trial - If you picked a plan on the homepage before signing up, the trial of that plan starts the moment you verify your email. - If you signed up without picking one, the first sign-in shows **Choose your plan**. An **Admin** picks one and clicks **Start free trial**. Each workspace gets **one** free trial. Once a trial or a paid plan has ended, choosing a plan again means paying for it on the renew page; it does not start another trial. No card, no payment details. See [How to create your workspace](https://jogan.cloud/help/create-your-workspace). ## What you get The chosen plan exactly as paid customers have it: all features, that plan's monthly sales cap, team size and catalogue size. When the trial ends you can continue monthly or yearly. See [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). ## Length 30 days on the standard plans, whether you pay monthly or yearly. The exact expiry date is under **Settings → Subscription**. ## When it ends Your workspace keeps working and your data stays. A banner appears saying your plan has ended, with a link to the renew page, where you pay the plan's real price — by card, or by bKash in a BDT workspace — and continue on the same plan, or pick a different plan. See [What happens when your plan ends](https://jogan.cloud/help/when-your-plan-ends) and [How to renew or change your plan](https://jogan.cloud/help/renew-or-change-plan). ## Can I switch plan during the trial? Yes. On **Settings → Subscription**, choose another plan and continue with it; on the standard plans you pay for it by card — or by bKash in a BDT workspace — and the new plan starts right away. --- # What happens when your trial or plan ends > Nothing is locked and nothing is deleted. Your workspace keeps working, a banner says the plan has ended, and the renew page lets you pay by card — or by bKash in a BDT workspace — to continue. Your team can keep recording while you sort out payment. _Category: Account, team and billing · Updated 2026-10-17 · Canonical: https://jogan.cloud/help/when-your-plan-ends_ Jogan deliberately has no lockout. A lapsed plan is a reminder, not a wall. ## What you will see - A **banner** at the top of every page: "Your plan has ended. You can keep using Jogan, renew to continue on your plan." - A pop-up on first load with the same message and a link to **Renew**. You can dismiss it. - **Settings → Subscription** shows the plan and its expiry date. ## What still works Everything. Items, stock, recipes, production, sales, reports, team. Your data is exactly where it was. ## What to do Open the renew page from the banner and pay by card. The plan activates as soon as the payment clears. In a BDT workspace you can instead send the amount to the bKash number listed and file a renewal request, and a platform admin activates the plan, usually the same day. Or pick a different plan first and pay for that one instead. See [How to renew or change your plan](https://jogan.cloud/help/renew-or-change-plan). ## Trials renew at the plan's price A lapsed trial of Growth renews as a paid Growth plan at its listed price, not at zero. You choose whether to continue monthly or yearly, and the renew page shows the amount due. ## Not planning to continue? Nothing further is needed. If you would like the workspace removed, message us through the chat and we will do it. --- # How to renew or change your plan > Open the renew page from the banner or Settings → Subscription, choose your plan and pay. A workspace set to BDT can pay by card or bKash; a workspace in any other currency (including US dollars) pays by card only. A card activates the plan as soon as it clears and renews itself automatically. _Category: Account, team and billing · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/renew-or-change-plan_ How you pay depends on your workspace's currency. A workspace set to **BDT** can pay by **card** or **bKash**; a workspace in any other currency (including US dollars) pays by **card** only. A card payment clears in seconds and the plan is active as soon as it does — there is no waiting for approval. A bKash payment is activated by a platform admin after you send it and file the request. ## Renewing the same plan **By card** 1. Click **Renew** in the banner, or open **Settings → Subscription**. 2. The page shows your plan and the **amount** due. 3. Click **Pay by card** and enter your card details in the secure form. 4. The plan activates the moment the payment clears, and the banner disappears. **By bKash (BDT workspaces)** 1. Open the renew page and send the amount shown to the bKash number listed there. 2. Click **Request renewal** and add a note with your bKash number or transaction ID. 3. A platform admin matches the payment and activates the plan, usually the same day. Only Admins can pay for or change a plan. Only one request can be pending at a time. ## Changing plan (upgrade or downgrade) 1. On the renew page or **Settings → Subscription**, the plans are listed with their caps. Each plan is available monthly or yearly, and switching between the two is an ordinary plan change. 2. Choose the plan you want. Pay by card with **Change plan by card**, or — in a BDT workspace — file a plan-change request for a platform admin to switch you over. 3. If this workspace already pays by card, the price difference is charged or credited to the same card straight away, and the new plan starts immediately — there is no card to re-enter. On a first card payment, you enter your card once and the new plan starts right away. A bKash change is switched over by a platform admin. Upgrading and downgrading both keep every item, movement, sale, recipe and team member. Before downgrading, check your monthly sales count and team size fit the smaller plan's caps. See [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). ## The card renews by itself Once a plan is paid for by card, the same card renews it automatically at the end of each period until you change plan, and there is nothing to do at renewal time. The renew page says the card renews the plan automatically when that is the case. ## If a payment does not go through A declined card, a mistyped number or a failed security check leaves the plan unchanged and charges nothing. On a plan change, you stay on your current plan until the new one is paid for; an upgrade whose payment fails, or whose card check you leave unfinished, never switches you over. If an **automatic renewal** fails, your plan runs to the end of the period you already paid for, and the card is retried for a while. If a retry succeeds, the plan continues as normal; if not, the plan ends at that date and the renew banner appears. Your data stays either way. Check the card details and try again. If it keeps failing, use a different card or ask a platform admin in the chat. If a bKash request is declined, the reason is usually written in the chat — fix the issue and send a new request. --- # What is the monthly sales limit and what happens when I reach it? > Each plan allows a number of recorded sales per calendar month: 500 on Starter, 2,000 on Growth, 5,000 on Scale. At the cap, new sales are refused with an upgrade prompt until the month resets or you move to a bigger plan. Everything else keeps working. _Category: Account, team and billing · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/monthly-sales-limit_ Plans are sized by how many sales you record. Only sales count, because a business that records a few hundred sales does not generate thousands of anything else. The cap is the same whether you pay monthly or yearly. Paying yearly changes when you pay, not what you get. ## What counts - **Counts**: each saved sale, whatever its number of lines or value. - **Does not count**: production runs, purchases, adjustments, write-offs, recipes, items, reports. Items, recipes and team members have their own limits, below. ## Where to see your usage **Settings → Subscription** shows **Sales (this month)** against your cap, along with team size, items and recipes against theirs. ## When you reach the cap Saving a sale fails with a message like "Plan limit reached: 500 sales per month. Upgrade to keep recording." Nothing else is affected: you can still stock in, produce, write off, run reports and manage the team. ## The other plan limits Plans also limit how many **team members**, **items** and **active recipes** a workspace can hold at once. These are not monthly; they count what you have right now. - Adding one past the limit is refused with a message like "Plan limit reached: 200 items. Upgrade to add more." Nothing you already have is touched. - An import that would go past the limit is refused as a whole, and the message says how many more fit. Import a smaller file, or upgrade first. - Replacing an item's recipe does not use a new slot; only a recipe for an item that has none does. - Removing a team member, deleting an item or deleting a recipe frees its slot. ## When it resets At the start of each calendar month. The reset happens automatically on the first sale of the new month. ## Getting more room Request a bigger plan from **Settings → Subscription**. Once a Jogan admin approves it, the new cap applies immediately. Need room beyond Scale's 5,000? Tell us what you need in the chat bubble and we will put together a plan that fits. See [How to renew or change your plan](https://jogan.cloud/help/renew-or-change-plan) and [Pricing and plans](https://jogan.cloud/help/pricing-and-plans). ## Tip Watch the usage bar in the last week of the month. If you regularly use 80 to 90 percent of the cap, upgrade before a busy period rather than during it. --- # Integrations Connect Jogan to your own tools and assistants with an API token and the MCP server. --- # Connect an AI assistant with the MCP server > Create a personal access token in Settings, then connect the Jogan MCP server to Claude, Cursor or another AI assistant so it can read and update your workspace for you — from Jogan's hosted server, or one running on your own machine. _Category: Integrations · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/connect-ai-assistant-with-mcp_ Jogan ships a Model Context Protocol (MCP) server, so an AI assistant can work with your workspace directly. Ask it to list low stock, record a purchase, run a recipe, or explain this month's profit, and it does it through the same API the app uses. You connect it once with a personal access token, and from then on it acts as your user with your role. ## What you can do with it - Read items, recipes, stock movements, sales, production runs and batches. - Ask for reports: sales, profit, inventory, stock movements and expiry. - Record a sale, a purchase, a stock adjustment, a production run or a batch write-off. - Create and update items and recipes. - Check and change the workspace name, currency and language. It cannot delete anything. Removing an item, recipe, sale or production run cascades through your stock history, so it stays in the app, where an admin confirms it first. A token also cannot touch your account or billing: it cannot create more tokens, add or change team members, change passwords, or pay for or change your plan. Those need you signed in to Jogan itself, so a token that leaks can be shut off for good by revoking it. Your plan's limits apply the same as in the app: creating an item or recipe past the limit is refused with a "Plan limit reached" message the assistant passes on. ## Create a token 1. Open **Settings** and switch to the **API tokens** tab. 2. Click **Create token** and give it a name, for example `Claude Desktop`. 3. Copy the value it shows. It starts with `jgn_`. That value is shown once. Jogan stores only a scrambled fingerprint of it, so if you lose it, revoke it and create another. A token belongs to the workspace you created it in, so the same token works with both ways of connecting below. ## Use the hosted server (nothing to install) Jogan runs the MCP server for you at `https://mcp.jogan.cloud`. Point a client that supports a remote server at it with your token and there is nothing to install — no Node.js, no `npx`. The token already says which workspace the request belongs to, so the address is the same for everyone. The hosted endpoint forwards each call to your workspace's API, which is rate-limited per workspace (shared across every token and account in it) to keep one tenant from crowding out the shared API. Calls are also scoped to Jogan origins in the browser. ### Cursor Add this to `.cursor/mcp.json`, then reload Cursor. ```json { "mcpServers": { "jogan": { "url": "https://mcp.jogan.cloud", "headers": { "Authorization": "Bearer jgn_your_token_here" } } } } ``` ### Claude Code ```bash claude mcp add --transport http jogan https://mcp.jogan.cloud \ --header "Authorization: Bearer jgn_your_token_here" ``` The exact keys differ between clients, but it is always the same two values: the address, and an `Authorization` header carrying the token. If your assistant only supports a server it starts itself, use the next section. ## Add the server to your assistant (local) Use this when the assistant has to start the server itself. You need two things: your workspace address, for example `https://yourworkspace.jogan.cloud`, and the token you just copied. The examples install the server on demand, so Node.js has to be on the machine. ### Claude Desktop Open **Settings**, then **Developer**, then **Edit Config**, and add this to `claude_desktop_config.json`. Restart Claude afterwards. ```json { "mcpServers": { "jogan": { "command": "npx", "args": ["-y", "@jogancloud/mcp"], "env": { "JOGAN_URL": "https://yourworkspace.jogan.cloud", "JOGAN_TOKEN": "jgn_your_token_here" } } } } ``` ### Cursor Put the same server in `.cursor/mcp.json`, then reload Cursor. ```json { "mcpServers": { "jogan": { "command": "npx", "args": ["-y", "@jogancloud/mcp"], "env": { "JOGAN_URL": "https://yourworkspace.jogan.cloud", "JOGAN_TOKEN": "jgn_your_token_here" } } } } ``` ### Claude Code Run this once, with your own address and token. ```bash claude mcp add jogan \ --env JOGAN_URL=https://yourworkspace.jogan.cloud \ --env JOGAN_TOKEN=jgn_your_token_here \ -- npx -y @jogancloud/mcp ``` ### OpenCode Add this to `opencode.json`, then restart OpenCode. ```json { "mcp": { "jogan": { "type": "local", "command": ["npx", "-y", "@jogancloud/mcp"], "enabled": true, "environment": { "JOGAN_URL": "https://yourworkspace.jogan.cloud", "JOGAN_TOKEN": "jgn_your_token_here" } } } } ``` ## Check the connection The MCP Inspector lists the server's tools and lets you call one by hand. Pass your address and token with `-e` so the Inspector hands them to the server. ```bash npx @modelcontextprotocol/inspector \ -e JOGAN_URL=https://yourworkspace.jogan.cloud \ -e JOGAN_TOKEN=jgn_your_token_here \ npx -y @jogancloud/mcp ``` Open the address it prints, then try `list_items`. For the hosted server instead, pick **Streamable HTTP** as the transport and enter `https://mcp.jogan.cloud` with an `Authorization` header of `Bearer jgn_your_token_here`. ## What each role can do The token carries your role, and Jogan enforces it on every request. | Your role | Through the assistant | | --- | --- | | Admin | Read and write | | Member | Read and write | | Read-only | Read only | A member and an admin get the same tools here. ## For admins The **API tokens** tab also lists every token in the workspace, whoever created it. If a teammate leaves or a token is exposed, revoke it there and that tool loses access immediately. The hosted server is shared, but a token only ever reaches the workspace it was created in. If you ever change your workspace's address, its tokens are revoked and you will need to create a new one. ## Keep the token safe Treat a token like a password, because that is what it is. Do not paste it into a shared document or a public repository. You can revoke it any time from **Settings → API tokens**, and the tools stop working at once. The last used time is shown next to each token, so you can spot one that has gone quiet. If you are unsure what a role can do, see [Team roles explained](https://jogan.cloud/help/team-roles-explained). --- # Troubleshooting When a number looks wrong or something will not go through. --- # Why does my stock show the wrong amount? > Stock only changes through recorded movements, so a wrong figure means something happened on the shelf that was not recorded in Jogan, or a recipe quantity is in the wrong unit. Trace it in Reports → Stock movements, then correct the count with an adjustment. _Category: Troubleshooting · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/stock-shows-wrong-amount_ Jogan's number is the sum of every movement it has been told about. When it disagrees with the shelf, one of these is almost always the reason. ## The usual causes - **A sale was not recorded.** Someone sold from the shelf without entering it. Stock only falls when a sale is saved. - **A delivery was not recorded**, or was recorded with the wrong quantity or unit (a sack of 25 entered as 1). - **A recipe quantity is in the wrong unit.** 300 entered where 0.3 kg was meant drains flour a thousand times too fast on every production run. Check the recipe against the item's unit. - **Production was run for the wrong quantity**, or was run twice. - **Waste was not recorded.** Spillage, trimmings and breakages leave the shelf silently. - **Expired stock was not written off.** It is still counted until it is. - **Someone auto-produced on a sale** without realising it, consuming ingredients. Look for production runs created at the same time as sales. ## How to trace it 1. Open **Reports → Stock movements**, filter by the item and a date range that covers the discrepancy. 2. Read the movements with their running **balance**. Look for a jump that does not match reality, or a movement you did not expect. 3. Check the **Production** list for runs of recipes that use the item. ## How to fix it - If a movement was simply missed, record it now with the real date in the notes. - If the cause is unclear, count the shelf and record an **Adjustment in** or **Adjustment out** for the difference, with a note. See [How to correct a count or record waste](https://jogan.cloud/help/stock-adjustments-and-waste). - If a recipe was wrong, fix the recipe; past runs stay as they were, so also adjust the affected items. - If a sale or production run was wrong, an Admin can delete it and it can be re-recorded. See [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). ## Prevent it Record sales as they happen, give every staff member their own login so movements show who recorded them, and set minimum stock so surprises show up early. --- # Why can't I record a sale? > The sale is being refused for one of four reasons: the item is short on stock, the item is short and has no recipe to auto-produce it, your workspace has reached its monthly sales cap, or your account is Read-only. The message on the form says which. _Category: Troubleshooting · Updated 2026-09-05 · Canonical: https://jogan.cloud/help/cannot-record-a-sale_ Jogan refuses a sale rather than record one it cannot fulfil or is not allowed to count. The message on the form tells you which case you are in; the fixes are below. ## "Only N available" or Out of stock You are selling more than is in stock. Jogan never records a sale it cannot fulfil. - **Stock it in** with a purchase, or **run production**, then record the sale. See [How to log incoming stock](https://jogan.cloud/help/log-incoming-stock) and [How to run production](https://jogan.cloud/help/run-production). - Or tick **Auto-produce items not yet in stock** if the item has a recipe. The available figure then includes what can be produced from components on hand. ## "…is short on stock and has no active recipe, so it cannot be auto-produced" Auto-produce is ticked, but this item is not made from a recipe, so Jogan cannot make it. Untick auto-produce and stock the item in, or set up a recipe if it is something you make. See [Do I need recipes?](https://jogan.cloud/help/do-i-need-recipes). ## "Insufficient component stock to auto-produce…" The item can be produced but an ingredient is short. The message lists each component with what is needed and what is available. Purchase the missing components and try again. ## "Plan limit reached: N sales per month" Your workspace has recorded its monthly cap of sales. Everything else keeps working. The counter resets at the start of next month, or request a bigger plan under **Settings → Subscription**. See [The monthly sales limit](https://jogan.cloud/help/monthly-sales-limit). ## There is no Record sale button Your account is **Read-only**. Ask an Admin to change your role under **Settings → Team**. See [Team roles explained](https://jogan.cloud/help/team-roles-explained). ## "Add at least one item to the sale" Every line needs an item and a quantity above zero. Remove empty lines. --- # How to fix a mistaken sale, production run or stock entry > Open a wrong sale and click Edit sale to change its items, quantities, prices, discount or date; Jogan puts the old stock back and takes the new amounts out, and the invoice number stays. A wrong purchase, adjustment or waste entry is undone with Reverse on the Stock page. A production run is corrected by an Admin deleting it and running it again. _Category: Troubleshooting · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/fix-a-mistake_ Jogan keeps history intact. A sale is corrected in place with its stock moved for you; a stock entry is undone with a linked reverse entry, so the ledger always explains itself. ## A wrong sale (quantity, price, item, date) 1. Open **Sales**, click the invoice number, then **Edit sale**. 2. Change what was wrong: add or remove items, fix a quantity or price, the discount, or the **Date of sale**. 3. Click **Save changes**. Jogan puts the old quantities back in stock (and back into the batches they came from), then takes the new ones out, in one step. If there is not enough stock for the new amounts, nothing changes and you are told what is short. The invoice number stays the same, and the edit does not count as another sale toward your monthly limit. Items that were already on the sale keep the cost they were sold at, so fixing a typo weeks later does not change that sale's profit. An item you add is costed at today's average. To remove a sale entirely, an **Admin** clicks **Delete sale** instead: the stock comes back and the sale leaves the reports and the month's sales count. ## A wrong production run 1. An **Admin** opens **Production** and clicks **Delete run** on the row. 2. Jogan lists the impact: consumption and output movements removed, the output batch removed, and any sale that had drawn from that batch corrected (the line is dropped, or the whole sale if it was the only line). 3. Confirm, then run production again with the right quantity. ## A wrong purchase, adjustment or waste entry 1. Open **Stock** and find the entry. 2. Click **Reverse** on its row and confirm. Jogan posts the opposite entry on the same date and links the two; the row shows **Reversed** and the new one **Reversal**. Then record the right entry if there should be one. Nothing is deleted, so the ledger still shows what happened. - Reversing stock that came in takes it back out at the price it came in at and corrects the item's average cost. It is refused if some of that stock has already been used or sold; record an **Adjustment out** for what is left instead. - Reversing stock that went out (waste, damage, an adjustment out) puts it back, into the batches it came from. - Each entry can be reversed once. Entries made by a sale or a production run are corrected through that sale or run, not here. See [How to correct a count or record waste](https://jogan.cloud/help/stock-adjustments-and-waste). ## A wrong unit cost on a purchase **Reverse** the purchase, which takes it out at the wrong price and puts the average back, then record the purchase again at the correct unit cost. ## A wrong recipe Edit the recipe; future runs use it. Past runs are not changed, so adjust the affected items' stock if the error was material. ## Who can do this Admins and Members can edit sales and reverse stock entries. Deleting a sale or production run is Admin-only. See [Team roles explained](https://jogan.cloud/help/team-roles-explained). --- # I can't sign in. What do I do? > Check that you are at your workspace's own address, that the email is the one your admin registered, and that the password is right. If you have forgotten the password, use "Forgot password?" to have a reset link emailed, or ask an Admin to reset it. A new workspace must have its email verified before anyone can sign in. _Category: Troubleshooting · Updated 2026-10-18 · Canonical: https://jogan.cloud/help/cannot-sign-in_ Most sign-in failures are one of five things: the wrong workspace address, the wrong email, a forgotten password, an unverified new workspace, or a browser blocking cookies. Work down the list. ## Check the address Your workspace lives at `yourworkspace.jogan.cloud`. Signing in from the Jogan homepage also works, but you must type the **Workspace** address exactly (the short name, lowercase, hyphens allowed). A typo there gives an "Unable to sign in" error just like a wrong password. ## Check the account - Use the **email your Admin registered** for you, not a different personal address. - Passwords are case-sensitive. - If you were **removed from the team**, your login no longer works. Ask your Admin. ## Forgotten the password Click **Forgot password?** on the sign-in page and enter the email on your account, and Jogan emails a one-time reset link. If you cannot reach that email and you are not the workspace Admin, ask an **Admin** to reset your password under **Settings → Team**. See [How to change or reset a password](https://jogan.cloud/help/change-your-password). ## "Too many attempts" After 10 failed sign-ins for the same email, or from the same network, within 15 minutes, Jogan stops accepting attempts for a few minutes and shows "Too many attempts. Please wait a few minutes and try again." This protects your account from password guessing. Wait, then sign in with the right password, or use **Forgot password?** instead of guessing. ## "Sign in from the Jogan sign-in page" Jogan only accepts a sign-in sent from its own pages. If you see this, you submitted the form from somewhere else, such as a saved copy of the page or another website. Open your workspace address, `yourworkspace.jogan.cloud`, and sign in there. ## New workspace, never signed in The workspace stays inactive until the **verification email** link is clicked. Find the email (check spam); the link is valid for 24 hours. See [The verification email has not arrived](https://jogan.cloud/help/verification-email-not-arriving). ## Signed in but sent straight back to login Your browser may be blocking cookies for the site, or you are on a different workspace's address than the one you signed in to. Allow cookies for `jogan.cloud` and sign in at your own workspace address. ## Signed out without doing anything If your password was changed, by you on another device or by an Admin, every other session is signed out. Sign in again with the new password. ## Still stuck Use the chat bubble on the login page and tell us the workspace address and the email you are using. --- # The verification email has not arrived > Check spam and promotions folders and wait a few minutes. The link is valid for 24 hours. If it is lost or expired, use the "Resend email" button on the sign-up confirmation screen to get a fresh link, or sign up again with the same address; a never-activated sign-up is replaced. _Category: Troubleshooting · Updated 2026-09-06 · Canonical: https://jogan.cloud/help/verification-email-not-arriving_ After you click **Create workspace**, Jogan emails a link that activates the workspace and signs you in. Until it is clicked the workspace exists but cannot be used. ## Check first - **Spam, junk and Promotions** folders. - Wait five minutes. Delivery is normally under a minute but some mail providers delay. - Search your mailbox for "Jogan". ## Resend the email On the **"Almost there"** screen after sign-up, click **Resend email**. A fresh link goes to the address you signed up with; each link is valid for 24 hours. ## The link has expired Links last **24 hours**. Resend from the "Almost there" screen, or sign up again with the same workspace address and email. A sign-up that was never activated is replaced, so you are not locked out of your chosen address. ## Typed the wrong email? The sign-up form checked that the address was valid and deliverable, but it cannot know it is yours. If it went to the wrong mailbox, message us in the chat with the workspace address you chose and the correct email. ## The link says the workspace is already active Someone has already clicked it. Go to `yourworkspace.jogan.cloud/login` and sign in with the email and password you chose. See [How to sign in](https://jogan.cloud/help/sign-in). --- # How to delete an item, and what gets removed with it > Only an Admin can delete an item. Because stock movements, batches, recipes, production runs and sales reference it, deleting the item removes those too, and Jogan lists the exact counts before you confirm. To keep the item but reset it to zero, use Clear stock history and activity, which removes the same history while keeping the item row. _Category: Troubleshooting · Updated 2026-09-06 · Canonical: https://jogan.cloud/help/delete-an-item_ Deleting is rare and deliberate in Jogan. Most of the time you want one of the alternatives below. ## Alternatives first - **Stop selling something**: just stop recording sales of it. Set its minimum stock to 0 so it does not appear in Low stock. - **Start fresh on an item's stock** (a botched import, a wrong opening balance): **Items → Delete options → Clear stock history & activity**. The item row itself stays (name, unit and prices), but everything built on its stock history is removed: movements, batches, the recipes it produces (and its lines in other recipes), production runs and any sales of it. Stock resets to zero. Jogan lists exactly what will go before you confirm. - **Fix one wrong entry**: see [How to fix a mistake](https://jogan.cloud/help/fix-a-mistake). ## Deleting the item 1. As an **Admin**, open **Items** and click **Delete options** on the row, then choose delete. 2. Jogan shows what will go with it: stock movements, batches, recipes deleted (where the item is the output) and recipe lines removed (where it is a component), production runs, and sales or sale lines. 3. Confirm. Everything listed is removed in one transaction and affected items' stock is recalculated. ## Why so much goes with it Every one of those records points at the item. Leaving a sale line pointing at nothing would corrupt reports, so Jogan removes exactly what would otherwise dangle, and nothing more. Deleting a **recipe**, by contrast, removes only the recipe, because runs and sales already made do not depend on it. ## Who can do this Admins only. Members see the row but not the delete options. See [Team roles explained](https://jogan.cloud/help/team-roles-explained).