RyoFin Logo
Download PDF
Table of Contents

RyoFin User Manual

Step-by-step guide for business users with screenshots and daily workflows.

RyoFin User Manual

Table of Contents

  1. Welcome & Overview
  2. Getting Started
  3. Core Concepts
  4. User Roles & Permissions
  5. Company & Store Management
  6. Master Data Setup
  7. Product Management
  8. Customer & Supplier Management (CRM)
  9. Purchases
  10. Sales
  11. Quotations
  12. Bundle Products
  13. Stock Adjustments
  14. Double-Entry Accounting
  15. Reports
  16. User Management
  17. Settings & Branding
  18. Activity Logs & Audit Trail
  19. Notifications (Email & SMS)
  20. End-to-End Workflow Recipes
  21. Troubleshooting & FAQ
  22. Glossary
  23. Appendix A — Permission Reference

1. Welcome & Overview

What is RyoFin?

RyoFin is a multi-store, multi-tenant Inventory Management + Double-Entry Accounting system built for retail and wholesale businesses. It combines day-to-day operations (purchases, sales, quotations, stock) with proper book-keeping (journals, ledgers, balance sheet, profit & loss) so the business owner sees both operational and financial truth in one place.

Who is it for?

  • Shop owners / business owners who want one system for inventory and accounting.
  • Store managers who handle daily sales, purchases, and stock.
  • Cashiers / sales staff who create invoices and take payments.
  • Accountants who manage the chart of accounts, journals, and reports.
  • Multi-branch businesses where each branch (store) has its own stock but shares the same company books.

Key benefits

  • One source of truth — every sale, purchase, payment, and adjustment automatically posts the correct accounting journal entries.
  • Real-time stock per store, including average cost (COGS).
  • Multi-tenant — each company runs in its own isolated database.
  • Multi-store — one company can have many shops, each with its own stock and users.
  • Soft delete with reversal — deleting a sale or purchase automatically reverses the accounting impact, preserving audit history.
  • Permission-based — every action is gated by a granular permission, assigned through roles.
  • PDF reports — every report can be exported as a print-ready PDF.

What this manual covers

This manual is task-oriented. For each module you will find:

  • What it does (in plain English)
  • Where to find it in the menu
  • Field-by-field guide for create/edit forms
  • Numbered step-by-step instructions for common tasks
  • Which permissions gate which actions
  • What journal entries are created (where applicable)
  • Tips, warnings, and screenshot placeholders

2. Getting Started

2.1 Logging In

  1. Open the application URL provided by your administrator (for example: https://yourshop.ryofin.com).
  2. Enter your phone number and password.
  3. (Optional) Tick Remember me to stay signed in on this device.
  4. Click Log In.

NOTE: Your URL contains your company's tenant subdomain (e.g. sopno.ryofin.com). Make sure you use the URL your administrator gave you — not a generic one.

Login page with phone number, password, and Remember me

2.2 First-Time Login

If your account is brand new:

  1. Log in with the credentials provided by your administrator.
  2. You can start using the system immediately based on your assigned role and store access.
  3. If your account is blocked, contact your administrator to activate or update your access.

2.3 Forgot Password (OTP via SMS)

RyoFin uses phone-based password reset:

  1. On the login page, click Forgot Password.
  2. Enter your registered phone number.
  3. Enter the 6-digit OTP you receive by SMS.
  4. Set a new password.

NOTE: Email may exist in your profile as optional contact info, but login and reset are phone number based.

2.4 The Dashboard

After logging in you land on the Dashboard. Depending on your role you will see:

  • Quick links to common actions (Create Sale, Create Purchase, Create Quotation)
  • Today's totals (sales, purchases, payments)
  • Stock alerts (low stock, out-of-stock)
  • Recent activity

Dashboard with KPI cards and quick links

2.5 Navigation Basics

  • Sidebar — main module list (Sales, Purchases, Products, Reports, Accounts, etc.).
  • Top bar — store switcher, profile menu, language, logout.
  • Breadcrumbs — show where you are; click to go up one level.
  • Action buttons — primary actions (e.g. "Create Sale") are usually at the top right of a list page.

2.6 Switching Stores

If you have access to more than one store:

  1. Click the store dropdown in the top bar.
  2. Select the store you want to work in.
  3. The list views (Products, Sales, etc.) reload to show that store's data.

NOTE: Some users are restricted to a single store. If you do not see a dropdown, your access is limited to one store by your administrator.

2.7 Editing Your Profile

  1. Click your avatar / name in the top bar → Profile.
  2. Update name, phone, email as needed.
  3. Click Save.

To change your password:

  1. Profile → Change Password.
  2. Enter current password, then new password twice.
  3. Click Update Password.

Profile page and Change Password modal


3. Core Concepts

These are the ideas that make the rest of the manual easier to understand. A user can ignore the technical names; what matters is what they mean for daily work.

3.1 Companies and Tenants

A Company (also called a Tenant) is the top-level business in RyoFin. Each tenant has its own isolated data — its own products, customers, accounts, and reports. If you run two unrelated businesses, each one is a separate tenant.

3.2 Stores (Branches)

Inside a company you can have many Stores (also called branches or shops). Each store:

  • Has its own stock (a product can have 5 in Store A and 0 in Store B).
  • Has its own users assigned to it.
  • Shares the same company-wide chart of accounts and reports.

3.3 Multi-Store Stock

Stock is tracked per product, per store. Selling, purchasing, adjusting, or transferring stock always happens in the context of a specific store.

3.4 Units (Base / Purchase / Sales)

A product can have three different units:

  • Base unit — the smallest unit you actually count (e.g. piece).
  • Purchase unit — what you buy from supplier (e.g. carton of 12).
  • Sales unit — what you sell to customer (e.g. pack of 6).

Conversion factors connect them so the system always knows true stock in the base unit.

EXAMPLE: You buy a carton (24 pieces) for $240, sell as packs of 6 for $80. The system tracks all 24 pieces and adjusts stock automatically when you sell packs.

3.5 Tax Methods (Inclusive vs Exclusive)

  • Inclusive tax — the price you see already contains tax. Example: price $115 includes 15% VAT, so net is $100.
  • Exclusive tax — tax is added on top of the price. Example: $100 + 15% VAT = $115 charged.

Each transaction (sale, purchase, quotation) chooses one method.

3.6 COGS (Cost of Goods Sold)

COGS is what the inventory you sold actually cost you to buy. RyoFin tracks an average COGS per product per store, so when you sell, the matching cost is automatically removed from inventory and posted to the COGS expense account.

3.7 Double-Entry Accounting (in plain English)

Every business event has two sides: where money came from (credit) and where it went (debit). Both sides must be equal.

Examples:

  • You sell something for cash → Cash increases (debit) AND Sales Revenue increases (credit).
  • You buy stock on credit → Inventory increases (debit) AND Supplier Payable increases (credit).
  • A customer pays their invoice → Cash increases (debit) AND Customer Receivable decreases (credit).

You don't have to write these journal entries by hand — RyoFin creates them automatically for sales, purchases, payments, fund transfers, expenses, and so on. You only write manual journals for unusual events.

3.8 Soft Delete (Safe Delete)

When you delete a record (sale, purchase, etc.), it is not erased — it is marked as deleted but kept for the audit trail. Reports and lists hide deleted records by default. The matching accounting entries are also automatically reversed, so the books stay correct.

3.9 Permissions and Roles

Every action (view, create, edit, delete, send email, accept quotation, etc.) is controlled by a permission. Permissions are grouped into Roles (e.g. Admin, Manager, Sales). A user is assigned one or more roles. For the full picture, See: User Roles & Permissions.

3.10 Audit Trail

Most important records (sales, purchases, accounting transactions) automatically record who changed what and when. This is visible in the Activity Log.


4. User Roles & Permissions

4.1 Default Roles

RyoFin ships with a typical set of roles. Your administrator can rename, edit, or add new roles.

Role Typical responsibilities
Super Admin Full access across all companies (system-level).
Tenant Owner / Admin Full access within their company: users, settings, accounts, all transactions.
Manager All operational modules (sales, purchases, stock) + most reports.
Accountant Chart of accounts, journals, ledgers, reports. Limited or no access to product master.
Sales / Cashier Create sales, receive payments, view own store's products and customers.
Stock Keeper Stock adjustments, view products and inventory reports.

4.2 What "Permission-Based" Means

A button or menu item only appears for a user if their role has the required permission. If you cannot see a button that the manual says should be there, your role does not have that permission.

4.3 Permission Categories

Permissions are organized by module. For each module you will typically see:

  • view <module>
  • create <module>
  • edit <module>
  • delete <module>
  • Plus module-specific actions, e.g. send quotation email, accept quotation, convert quotation to sale, record payment, etc.

See: Appendix A — Permission Reference.

4.4 Assigning Roles to Users

  1. Go to Users → Roles (or User Management).
  2. Open the user.
  3. Tick the role(s) you want to assign.
  4. Click Save.

User edit page with role checkboxes

4.5 Store-Based Access

In addition to roles, a user can be scoped to specific stores. A user with view sales permission still only sees sales for the stores they are assigned to.

WARNING: Always assign at least one store to a non-admin user, otherwise list views will appear empty.


5. Company & Store Management

5.1 Companies (Tenants)

Where: Sidebar → Companies (Super Admin only). Who uses it: Super Admin who onboards new businesses.

Create a new company

  1. Click Create Company.
  2. Fill in company name, contact email, phone, address, currency.
  3. Upload company logo (used on invoices and reports).
  4. Click Save.
  5. The system creates the company's tenant database and seeds the default chart of accounts (Assets, Liabilities, Equity, Income, Expenses).

NOTE: Each company gets its own subdomain or URL slug. The tenant system isolates data — Company A cannot see Company B's data.

Create company form

5.2 Stores (Branches)

Where: Sidebar → Stores. Who uses it: Tenant Owner / Admin.

Create a store

  1. Click Create Store.
  2. Enter:
    • Name (e.g. "Downtown Branch")
    • Address, Phone, Email
    • Currency (defaults to company currency)
    • Logo (optional, falls back to company logo)
  3. Click Save.
  4. The system creates the store and adds default sub-accounts under the company chart of accounts (Cash, Bank, Inventory, Customers Receivable, Sales Revenue, COGS, Suppliers Payable).

Create store form

Edit / Delete a store

  • Edit — change name, contact details, logo.
  • Delete — only allowed if the store has no transactions; otherwise you can deactivate it.

5.3 Assigning Users to Stores

  1. Open the store → Users tab.
  2. Click Add User.
  3. Pick existing users from the list.
  4. Click Save.

A user can be assigned to multiple stores; they will then see the store switcher in the top bar.

5.4 Branding

Set on the Company record:

  • Logo (PNG/JPG, square recommended)
  • Color (used in PDF headers)
  • Address & contact (printed on invoices)

TIP: A clean square logo on a transparent background looks best on PDF invoices.


6. Master Data Setup

Master data are the building blocks you set up before you start daily transactions. Setting them up correctly saves a lot of time later.

6.1 Brands

Where: Sidebar → Products → Brands.

Create a brand

  1. Click Create Brand.
  2. Enter Name (e.g. "Samsung").
  3. (Optional) Upload a brand logo.
  4. Click Save.

Edit / Delete

  • Editing is straightforward.
  • A brand can only be deleted if no product uses it.

6.2 Categories

Where: Sidebar → Products → Categories.

Create a category

  1. Click Create Category.
  2. Enter Name (e.g. "Mobile Phones").
  3. (Optional) Pick a parent category to build a hierarchy.
  4. Click Save.

TIP: A 2-level hierarchy (Department → Category) is enough for most shops. Deeper trees become hard to navigate.

6.3 Units (with conversions)

Where: Sidebar → Products → Units.

Create a unit

  1. Click Create Unit.
  2. Enter Name (e.g. "Carton"), Short Name (e.g. "ctn").
  3. Choose Base Unit if this is a derived unit (e.g. Carton's base is Piece).
  4. Enter Operator (* or /) and Operation Value (e.g. * and 12 means 1 carton = 12 pieces).
  5. Click Save.

Now in a product you can pick "Carton" as purchase unit and "Piece" as sales unit, and the system will translate automatically.

Create unit form with operator, operation value, base unit

6.4 Taxes

Where: Sidebar → Settings → Taxes (or Products → Taxes).

Create a tax

  1. Click Create Tax.
  2. Enter Name (e.g. "VAT 15%"), Rate (e.g. 15).
  3. Click Save.

You can later assign a tax to a product (default tax) or pick a tax on each transaction line.

6.5 Additional / Custom Fields

Where: Sidebar → Settings → Additional Fields.

Custom fields let you add extra information to records without code changes. For example: "Warranty months" on Products, "Date of Birth" on Customers, "PO Number" on Sales.

Create a custom field

  1. Click Create Field.
  2. Choose the Model (Product, Customer, Supplier, Sale, Purchase).
  3. Enter:
    • Field Name (technical name, e.g. warranty_months)
    • Label (what the user sees)
    • Type (text, number, select, textarea, date)
    • Options (only for select type — comma-separated)
    • Required (yes/no)
  4. Click Save.

The field now appears automatically in the create/edit form for that model.

Custom field form, and a Product create form showing the new field


7. Product Management

Where: Sidebar → Products → Products.

7.1 Product List

The list shows: image, name, SKU, barcode, brand, category, current stock per active store, status.

Filters: brand, category, status, store, search by name/SKU/barcode. Actions: view, edit, delete (soft), adjust stock.

Product list with filters and stock columns

7.2 Create a Product

  1. Click Create Product.
  2. Fill in the basics:
    • Name
    • SKU (must be unique)
    • Barcode (optional but recommended)
    • Brand, Category (optional)
    • Status (Active / Inactive)
  3. Units:
    • Base unit (required)
    • Purchase unit (defaults to base)
    • Sales unit (defaults to base)
  4. Pricing & tax:
    • Default purchase price
    • Default sales price
    • Default tax + tax method (inclusive/exclusive)
  5. Images: drag & drop one or more product images.
  6. (Optional) Custom fields configured for Products.
  7. Click Save.

NOTE: A product is created globally for the company. Stock is added per store separately via Purchases or Stock Adjustments.

Create product form with images and units

7.3 Edit a Product

  1. Open the product → Edit.
  2. Update fields as needed.
  3. Click Save.

WARNING: Changing the base unit after the product has stock or transactions can cause inconsistent reporting. Avoid it. Create a new product instead.

7.4 Delete a Product

  • Soft delete — the product is hidden but kept for historical reports.
  • Re-using the same SKU later may be blocked because it still exists in the soft-deleted set.

7.5 Stock per Store (View)

Open a product → Stock tab. You see a table:

  • Store name
  • Current stock (in base unit)
  • Average COGS per unit

NOTE: A bundle product always shows 0 stock here — bundles are virtual; stock is held by the underlying components. See Section 12 — Bundle Products.

7.6 Permissions

  • view product, create product, edit product, delete product
  • adjust stock (for Stock Adjustments)

8. Customer & Supplier Management (CRM)

8.1 Customers

Where: Sidebar → Customers.

Create a customer

  1. Click Create Customer.
  2. Enter Name, Phone, Email, Address.
  3. Optional: company name, tax ID, opening balance.
  4. Custom fields configured for Customers.
  5. Click Save.

Customer detail

  • Profile information.
  • Sales history (linked sales).
  • Receivable ledger (running balance of money the customer owes you).
  • Quotations.

Customer detail page with tabs

Edit / Delete

  • Edit any field except — usually — the opening balance once transactions exist.
  • Soft-deletes a customer; cannot fully remove if linked transactions exist.

8.2 Suppliers

Where: Sidebar → Suppliers. The fields and workflow mirror Customers. Suppliers have:

  • Purchase history
  • Payable ledger (money you owe them)

8.3 Custom Fields

Both Customers and Suppliers support custom fields. See Section 6.5 — Additional / Custom Fields.

8.4 Permissions

  • view customer, create customer, edit customer, delete customer
  • view supplier, create supplier, edit supplier, delete supplier

9. Purchases

Where: Sidebar → Purchases.

9.1 What is a Purchase?

A purchase is a transaction where you buy stock from a supplier. It increases your inventory and creates a payable to the supplier (unless you pay immediately).

9.2 Purchase List

Columns: Purchase #, date, supplier, store, total, paid, due, payment status, actions. Filters: date range, supplier, store, payment status. Actions: view, edit, delete, record payment, download PDF.

Purchase list with filters

9.3 Create a Purchase

  1. Click Create Purchase.
  2. Header:
    • Date (defaults to today)
    • Supplier (search & pick or click "+ New Supplier")
    • Store (where the stock is going)
    • Reference / invoice number (optional)
    • Tax method (inclusive / exclusive)
  3. Line items — for each product:
    • Product (search by name, SKU, or barcode)
    • Quantity (in purchase unit)
    • Unit cost
    • Tax (line-level)
    • Discount (line-level)
  4. Footer:
    • Order discount (overall)
    • Shipping cost
    • Other charges
  5. Click Save Purchase.

What happens automatically:

  • Stock increases in the chosen store (in base unit).
  • Average COGS for each product is recalculated.
  • Journal entries:
    • Debit Inventory (asset)
    • Credit Suppliers Payable (liability)
    • If you also recorded an immediate payment: Debit Suppliers Payable, Credit Cash/Bank.

Purchase create form with line items

9.4 Recording a Payment to Supplier

  1. Open the purchase → Payments tab → Add Payment.
  2. Enter Amount, Date, Payment Account (Cash / Bank).
  3. (Optional) Reference, note.
  4. Click Save.

Journal:

  • Debit Suppliers Payable
  • Credit Cash / Bank

9.5 Edit a Purchase

  1. Open the purchase → Edit.
  2. Adjust items, quantities, prices.
  3. Click Save.

WARNING: Editing a purchase reverses the original journal entries and stock movement, then re-posts the new ones. Make sure your changes are correct before saving.

9.6 Delete a Purchase

  • Soft-deletes the purchase.
  • Reverses journal entries (Inventory, Payable, COGS).
  • Reverses stock movement.
  • Stays visible in audit/activity logs.

9.7 Permissions

  • view purchase, create purchase, edit purchase, delete purchase
  • view purchase payment, create purchase payment, delete purchase payment

10. Sales

Where: Sidebar → Sales.

10.1 What is a Sale?

A sale is a transaction where you sell stock to a customer. It decreases inventory, posts revenue, COGS, and creates a receivable (unless paid immediately).

10.2 Sales List

Columns: Sale #, date, customer, store, total, paid, due, payment status, actions. Filters: date range, customer, store, payment status. Actions: view, edit, delete, record payment, send email, download PDF, view invoice.

Sales list

10.3 Create a Sale

  1. Click Create Sale.
  2. Header:
    • Date
    • Customer (or walk-in customer)
    • Store
    • Tax method (inclusive/exclusive)
  3. Add line items the same way as purchases.
  4. Footer: order discount, shipping, other charges.
  5. (Optional) Pay now: tick Add Payment, choose account and amount.
  6. Click Save Sale.

What happens automatically:

  • Stock decreases in that store.
  • Journal entries:
    • Debit Customer Receivable (or Cash/Bank if paid)
    • Credit Sales Revenue
    • Debit COGS (Cost of Goods Sold)
    • Credit Inventory
    • Tax accounts if applicable.

Create sale form

10.4 Recording a Customer Payment

  1. Open the sale → Payments → Add Payment.
  2. Amount, date, account, reference.
  3. Save.

Journal: Debit Cash/Bank, Credit Customer Receivable.

10.5 Sale Invoice (PDF & Email)

On a sale's detail page:

  • Download PDF — generates a print-ready invoice.
  • Send Email — emails the invoice with PDF attached to the customer's email on file.

Sale invoice PDF preview

10.6 Edit / Delete a Sale

  • Same reversal-and-repost behavior as purchases.
  • Soft delete reverses stock and journal entries; sale stays in audit history.

10.7 Permissions

  • view sale, create sale, edit sale, delete sale
  • view sale payment, create sale payment, delete sale payment
  • send sale email

11. Quotations

Where: Sidebar → Quotations.

11.1 What is a Quotation?

A formal price offer to a customer that has not yet become a sale. Quotations follow a status lifecycle and can be converted into a Sale once accepted.

11.2 Status Lifecycle

Draft  →  Sent  →  Accepted  →  Converted (to Sale)
              ↘  Rejected
              ↘  Expired (auto)
Status Meaning
Draft Saved, not yet sent. Editable.
Sent Delivered (manually marked or by email). Editable until customer responds.
Accepted Customer agreed. Ready to convert.
Rejected Customer declined. Reason saved.
Expired Expiry date passed. Automatic. Cannot be accepted.
Converted Linked to a Sale. Read-only.

11.3 Create a Quotation

  1. Click Create Quotation.
  2. Header:
    • Customer, Store
    • Quotation date, Expiry date (default: +30 days)
    • Tax method
  3. Line items: Product, qty, unit price, tax, line discount.
  4. Footer: order discount, shipping, terms & conditions, internal note.
  5. Click Save Quotation (status = Draft).

Quotation create form

11.4 Send to Customer

Manual: Open quotation → Mark as Sent. Email: Open quotation → Send Email. The system attaches a PDF and (if status was Draft) automatically marks it as Sent.

11.5 Accept / Reject

  • Accept — green button. Records the user and timestamp.
  • Reject — red button. Requires a rejection reason.

11.6 Convert to Sale

  1. Open an Accepted quotation.
  2. Click Convert to Sale (orange button).
  3. Confirm.
  4. The system creates a new Sale with: same customer, store, items, quantities, prices, discounts, taxes, shipping. Payment status = Pending. Note = "Converted from Quotation: QT-...".
  5. The quotation becomes Converted and links to the new sale.

NOTE: Only Accepted quotations can be converted. Once converted, you cannot edit the quotation.

11.7 Auto-Expire

A scheduled job runs daily and marks any Draft or Sent quotation past its expiry date as Expired. Expired quotations cannot be accepted; you can copy them to a new quotation if the customer comes back later.

11.8 Edit & Delete Rules

Status Edit Delete
Draft Yes Yes
Sent Yes Yes
Accepted No No
Rejected No No
Expired No No
Converted No No

11.9 Permissions

  • view quotation, create quotation, edit quotation, delete quotation
  • mark quotation sent, send quotation email
  • accept quotation, reject quotation, convert quotation to sale

12. Bundle Products

Where: Sidebar → Products → Bundles (or Products list filtered by "Is Bundle").

12.1 What is a Bundle?

A bundle is a virtual product made of other products. Selling 1 "Office Set" might consume 1 Desk + 1 Chair + 1 Lamp from stock. Bundles let you price and sell combos without manually tracking each component on the invoice.

12.2 Key Rules

  • A bundle's stock is always shown as 0 because bundles are not held in inventory — their components are.
  • The cost of a bundle is computed from its components (sum of component COGS × quantity).
  • When you sell a bundle, the system consumes component stock from the chosen store.

12.3 Create a Bundle

  1. Click Create Bundle.
  2. Enter Name, SKU, Brand, Category as for a normal product.
  3. In Bundle Items:
    • Add each component product
    • Set the quantity per bundle
  4. Click Save.

Bundle create form with item picker

12.4 Bundle Operations

Bundle creation operation (assemble in stock) You can pre-assemble bundles into a store, which "reserves" components and shows the bundle as "created":

  1. Open bundle → Bundle Operations → Create Bundle.
  2. Choose store and quantity.
  3. Save. Component stock is consumed; a virtual bundle quantity is recorded for tracking.

Unbundle (full or partial)

  1. Open bundle → Bundle Operations → Unbundle.
  2. Choose store and quantity to unbundle (can be less than the assembled amount).
  3. Save. Components are returned to stock based on bundle ratios.

12.5 Bundle Sales & Purchases

  • Selling a bundle in a Sale automatically consumes component stock and posts COGS based on the component's average cost.
  • Purchasing a bundle is unusual but supported (treats components individually).

12.6 Bundle Transaction History

Each bundle has a history view: created, sold, purchased, unbundled. Useful for understanding cost movements.

12.7 Permissions

  • view bundle, create bundle, edit bundle, delete bundle
  • bundle operations (create / unbundle)

13. Stock Adjustments

Where: Sidebar → Stock → Stock Adjustments.

13.1 What is a Stock Adjustment?

A manual change to stock that is not a sale or a purchase. Use it for:

  • Damaged or expired goods (decrease)
  • Stock found during count (increase)
  • Opening balance entry on initial setup

13.2 Create a Stock Adjustment

  1. Click Create Adjustment.
  2. Choose Store and Date.
  3. For each line:
    • Product
    • Type: Increase or Decrease
    • Quantity (in base unit)
    • Reason (Damage, Lost, Found, Initial, Other)
    • Note
  4. Save.

Journal entries (auto):

  • Increase → Debit Inventory, Credit Inventory Adjustment (gain).
  • Decrease → Debit Inventory Adjustment (loss / expense), Credit Inventory.

Stock adjustment form

13.3 View / Delete

  • View shows the lines and impact.
  • Delete reverses both the stock movement and the journal entries.

13.4 Permissions

  • view stock adjustment, create stock adjustment, delete stock adjustment

14. Double-Entry Accounting

This is the heart of the accounting side of RyoFin. It is delivered as a built-in package and integrates with all transaction modules above.

TIP: If you are not the accountant, you usually only need this section to:

  • Record a payment that does not belong to a sale or purchase (e.g. rent).
  • Transfer money from one cash/bank account to another.
  • View the company ledger and balance sheet.

14.1 Chart of Accounts

Where: Sidebar → Accounts → Chart of Accounts.

The chart of accounts is a tree of accounts grouped by 5 root types:

  • Assets (what the business owns: Cash, Bank, Inventory, Customers Receivable)
  • Liabilities (what the business owes: Suppliers Payable, Loans, Taxes Payable)
  • Equity (Owner's Capital, Retained Earnings)
  • Income (Sales Revenue, Other Income)
  • Expenses (COGS, Rent, Salaries, Utilities)

Default per-store sub-accounts are created automatically when you add a store:

Shop A (parent)
├── Assets
│   ├── Cash
│   ├── Bank
│   ├── Inventory
│   └── Customers Receivable
├── Liabilities
│   ├── Suppliers Payable
│   ├── Taxes Payable
│   └── Loans Payable
├── Equity
│   ├── Owner's Capital
│   └── Retained Earnings
├── Income
│   └── Sales Revenue
└── Expenses
    ├── COGS
    ├── Rent
    ├── Salaries
    └── Others

Create / Edit an account

  1. Open the parent account in the tree.
  2. Click Add Sub-Account.
  3. Enter:
    • Account name
    • Account type (Bank, Receivable, Payable, etc.)
    • (Optional) Accountable entity — link to a Customer, Supplier, Store, etc., for ledger filtering.
    • Status (Active / Deactive)
  4. Save.

Delete vs Deactivate

  • Delete — only allowed if the account has zero transactions. Otherwise the system blocks delete.
  • Deactivate — recommended; hides the account from new transactions but keeps history.

Reset balance (admin only)

A protected action that zeroes out an account's running balance. Used in rare correction scenarios. Requires admin permission and confirmation.

Chart of accounts tree, Add Sub-Account modal

14.2 Fund Transfers

Where: Sidebar → Accounts → Fund Transfers.

Move money from one account to another (e.g. Cash → Bank).

Create

  1. Create Fund Transfer.
  2. Date, From Account, To Account, Amount, Note.
  3. (Optional) Attachment.
  4. Save.

Journal: Debit destination, Credit source.

Filters & PDF

Filter by date, accountable type, ID. Download PDF for a date range.

14.3 Payments

Where: Sidebar → Accounts → Payments.

Records a payment between accounts or entities outside of a specific sale/purchase. Used for general ledger payments. Sales and Purchase modules also create payments under the hood.

14.4 Income / Revenue

Where: Sidebar → Accounts → Income.

Record incoming money that is not a customer sale (e.g. interest received, scrap sale).

Create

  1. Click Add Income.
  2. Date, Income account (e.g. "Interest Income"), Receiving account (e.g. Bank), Amount, Note, Attachment.
  3. Save.

Journal: Debit Bank/Cash, Credit Income Account.

14.5 Expenses

Where: Sidebar → Accounts → Expenses.

Record outgoing money that is not a supplier purchase (e.g. rent, utilities).

Create

  1. Click Add Expense.
  2. Date, Expense account (e.g. "Rent"), Paid from account (Cash/Bank), Amount, Note, Attachment.
  3. Save.

Journal: Debit Expense Account, Credit Cash/Bank.

Filters & PDF

Filter by date, accountable type, ID. PDF export with date range.

14.6 Loans / Investments

Where: Sidebar → Accounts → Loans / Investments.

Record money you gave as a loan or invested in another entity. Track outstanding balance and repayments.

14.7 Loan / Investment Returns

Record repayments or returns received on the loans/investments above. Each return links back to the original entry.

14.8 Security Deposits

Record deposits given or received (e.g. shop rent deposit). Status changes when the deposit is refunded or adjusted.

14.9 Manual Journals

14.9.1 Single-Line Manual Journal

A simple 1-debit + 1-credit entry.

  1. Manual Journals → Create.
  2. Date, Debit account, Credit account, Amount, Note, Attachment.
  3. Save (system enforces debit = credit).

14.9.2 Batch / Multi-Line Manual Journal

Use when you need many debit lines and many credit lines in one voucher.

  1. Manual Journals → Create Batch.
  2. Add as many debit rows and credit rows as needed.
  3. The screen shows running totals; Total Debits must equal Total Credits.
  4. Save.

WARNING: A multi-line journal cannot save until debits and credits balance.

Multi-line manual journal with running totals

14.10 Journals (Transaction Journals)

Where: Sidebar → Accounts → Journals.

A read-only list of every journal entry the system has posted (from sales, purchases, payments, manual journals, etc.).

Filters: date range, transaction type. Detail view: shows all lines (debit/credit) with the involved accounts and source document. PDF: download the filtered set as a journal report.

14.11 Ledgers & Account Statements

14.11.1 Single Account Ledger

  1. Ledgers → Single Account.
  2. Pick Account, optional Accountable entity (e.g. a specific customer), Date range.
  3. View opening balance, every transaction, running balance, closing balance.
  4. Download PDF.

14.11.2 All Accounts for an Entity

View every account that belongs to a specific entity (e.g. all accounts for Store "Sopno"):

  1. Ledgers → All Accounts.
  2. Pick Accountable type (Customer / Supplier / Store / Company / User) and ID.
  3. Date range.
  4. View list of accounts and their movements.

Ledger with running balance column

14.12 Tax Accounts

Tax rates configured in Section 6.4 — Taxes link to tax-payable accounts so VAT/GST collected on sales and paid on purchases lands in the right liability/asset accounts automatically.

14.13 File Attachments on Transactions

Most accounting transactions (Manual Journal, Expense, Income, Fund Transfer, Loan, Deposit) accept file attachments (PDF, image). Storage can be local or S3 depending on your installation.

  • Upload — choose file when creating/editing.
  • Download — open the transaction → click attachment.
  • Delete — admin can remove attachments.

14.14 Accounting Permissions

  • view accounts, create account, edit account, deactivate account, delete account, reset account balance
  • view journal, create manual journal, delete manual journal
  • view ledger
  • view fund transfer, create fund transfer, delete fund transfer
  • view income, create income, delete income
  • view expense, create expense, delete expense
  • view loan, create loan, delete loan
  • view loan return, create loan return
  • view deposit, create deposit, delete deposit
  • view payment, create payment, delete payment

15. Reports

Where: Sidebar → Reports.

All reports support:

  • Date range filter (from / to)
  • Store filter (where applicable)
  • PDF export (print-optimized, paginated, with timestamps and company branding)
  • Print preview

NOTE: A user only sees data from the stores they have access to. Reports are auto-scoped to that.

15.1 Sales Report

Lists sales in a date range with totals and payment status. Use it for: daily/weekly/monthly sales review.

15.2 Purchase Report

Mirror of Sales Report, for supplier purchases.

15.3 Stock Report (Inventory)

Snapshot of current stock per product per store, with average COGS and stock value.

15.4 Income Statement (Profit & Loss)

Revenue – COGS = Gross Profit. Less Expenses = Net Profit. For a chosen date range.

15.5 Balance Sheet

Assets, Liabilities, Equity at a chosen date.

  • Summary — totals per group.
  • Detail — breakdown by account.

15.6 Trial Balance

List of every account with debit and credit totals; debits should equal credits.

15.7 Account Statement (Account Transactions)

Per-account ledger with opening, transactions, closing balance. Same as 14.11.1 but reachable from Reports.

15.8 Customer Due Report

Outstanding receivables — who owes you what, sorted by oldest balance.

15.9 Supplier Due Report

Outstanding payables — who you owe and how much.

15.10 Common Tasks

Export a report to PDF

  1. Apply your filters (date range, store).
  2. Click Download PDF.
  3. Save or print.

A report with filters and the PDF download button

Print a report

Most reports have a Print button that opens the browser print dialog with a clean print stylesheet.

15.11 Permissions

  • view sales report, view purchase report, view stock report
  • view income statement, view balance sheet, view trial balance
  • view customer due report, view supplier due report
  • view account statement

16. User Management

Where: Sidebar → Users.

16.1 User List

Columns: name, email, phone, company, roles, status. Filter by role and status.

16.2 Create / Invite a User

  1. Click Create User.
  2. Fill name, email, phone, password (or send invite email).
  3. Tick the roles to assign.
  4. (Optional) Assign stores.
  5. Save.

Create user form

16.3 Edit a User

  • Update name, email, phone, status (Active/Inactive).
  • Re-assign roles or stores.

16.4 Roles

Where: Sidebar → Users → Roles.

Create a role

  1. Click Create Role.
  2. Name (e.g. "Cashier").
  3. Tick the permissions to grant.
  4. Save.

Edit a role

Update name and permissions; the change applies to every user with the role.

16.5 Permissions Catalog

Where: Sidebar → Users → Permissions. A read-only list (managed by developers/admin via a seeder). See: Appendix A — Permission Reference.

16.6 Reset a User's Password

  • Admin → open user → Reset Password.
  • User self-service → Forgot Password page (OTP via SMS).

16.7 Permissions

  • view user, create user, edit user, delete user
  • view role, create role, edit role, delete role
  • view permission

17. Settings & Branding

Where: Sidebar → Settings.

17.1 General Settings

  • Application name
  • Default currency & symbol
  • Date format
  • Time zone

17.2 Company Branding

  • Logo (used on PDFs and login screen)
  • Address & contact (printed on invoices)
  • Theme color (PDF headers)

17.3 Invoice / PDF Templates

  • Choose default invoice template style.
  • Toggle showing/hiding fields like tax breakdown, notes, signature line.

17.4 Email & SMS Settings

Usually configured by IT during setup (SMTP for email, SMS gateway credentials). End users do not change these.

17.5 Permissions

  • view settings, update settings

18. Activity Logs & Audit Trail

Where: Sidebar → Activity Logs.

18.1 What is logged?

  • Login / logout
  • Create, update, delete on key models (Sales, Purchases, Quotations, Products, Customers, Suppliers, Accounts, Manual Journals, Settings, Users, Roles)
  • Field-level changes (before / after) where applicable

18.2 Filtering

  • Date range
  • User
  • Module / model
  • Action (created / updated / deleted)

18.3 What you see for each entry

  • Who did it (user)
  • When (timestamp)
  • What (model + record id)
  • Action
  • Changes (old → new) for updates

TIP: Use Activity Logs to investigate "why did this number change?" before suspecting a bug.

Activity log list with filters

18.4 Permissions

  • view activity log

19. Notifications (Email & SMS)

19.1 Email

Email is used for:

  • New user welcome message
  • Password reset link
  • Quotation send-to-customer (with PDF)
  • Sale invoice send-to-customer (with PDF)

The "from" address and signature come from your Settings.

19.2 SMS

SMS is used for:

  • OTP-based password reset
  • (Optional) sale or quotation confirmations, depending on your install

The system supports multiple SMS gateway providers (e.g. SMSHelperElite, SMSHelperSSL). Your IT/admin chooses one.

19.3 In-App Flash Messages

After every action you will see a green (success) or red (error) banner at the top of the page, e.g. "Sale created successfully" or "Cannot delete: account has transactions".


20. End-to-End Workflow Recipes

These are the most useful "real life" sequences. Each recipe lists the steps in order across multiple modules.

20.1 Recipe: Onboard a new shop

Goal: A brand-new business is starting on RyoFin.

  1. Super Admin creates the Company (5.1). Default chart of accounts is seeded.
  2. Tenant Owner creates one or more Stores (5.2).
  3. Tenant Owner creates Users and assigns Roles + Stores (16).
  4. Set up Brands, Categories, Units, Taxes (6).
  5. Set up any Custom Fields (6.5).
  6. Add Products (7).
  7. Enter Opening Stock via Stock Adjustments (13) or via initial Purchases.
  8. Add Customers and Suppliers (8).
  9. Optional: enter Opening Balances for receivables / payables / cash via Manual Journals (14.9).
  10. Train staff on Sales and Purchases.

20.2 Recipe: Quote → Sale → Payment

Goal: Sell to a customer who first asked for a quotation.

  1. Create Quotation (11.3).
  2. Send Email to the customer (11.4).
  3. Customer agrees → Accept quotation (11.5).
  4. Convert to Sale (11.6).
  5. On the new Sale, Add Payment (10.4).
  6. Done. Inventory and accounts are all updated.

20.3 Recipe: Receive new stock from a supplier on credit

  1. Create Purchase with the supplier (9.3).
  2. Stock and Suppliers Payable are updated automatically.
  3. Later, when you pay the supplier, open the purchase and Add Payment (9.4).

20.4 Recipe: Stock count adjustment after physical inventory

  1. Run Stock Report to see system stock per product.
  2. Compare with physical count.
  3. Create Stock Adjustment (13.2) for each variance:
    • Increase if physical > system (reason: "Found").
    • Decrease if physical < system (reason: "Damage" / "Lost").
  4. Save. Inventory account is corrected automatically.

20.5 Recipe: Pay rent / utility expense

  1. Accounts → Expenses → Add Expense (14.5).
  2. Pick "Rent" expense account, paid from "Bank".
  3. Save. Income Statement instantly reflects the cost.

20.6 Recipe: Transfer money between Cash and Bank

  1. Accounts → Fund Transfers → Create (14.2).
  2. From Cash, To Bank, Amount.
  3. Save.

20.7 Recipe: Month-end close

  1. Make sure all sales and purchases for the month are recorded.
  2. Reconcile Cash and Bank with physical/bank statement (use Account Statement report).
  3. Record Expenses for the month (rent, salaries, utilities).
  4. Run Trial Balance — debits must equal credits.
  5. Run Income Statement for the month → review profit.
  6. Run Balance Sheet as of month-end → archive PDF.
  7. Run Customer Due and Supplier Due reports → follow up.

20.8 Recipe: Sell a Bundle

  1. Create the bundle and items (12.3).
  2. Make sure component products have stock.
  3. Create Sale, pick the bundle as a line item.
  4. Save. Component stock is consumed automatically; COGS is computed from components.

20.9 Recipe: Refund / Reversal

RyoFin does not have a separate "refund" module today. Use the closest matching action:

  • Wrong sale → Edit the sale (reverses & reposts) or Delete the sale (full reversal). The sale stays in audit history because of soft delete.
  • Customer returned an item but rest of sale is fine → Edit the sale and lower the quantity. Then refund cash via a Manual Journal or via a Payment with a negative amount, depending on your install.

TIP: Talk to your administrator about the recommended refund procedure for your business.


21. Troubleshooting & FAQ

21.1 Login & Access

Q: I cannot log in — wrong credentials.

  • Double-check phone number and password (caps lock?).
  • Use Forgot Password to reset via OTP.
  • If still blocked, contact your admin — your account may be inactive.

Q: I do not see the Stores dropdown in the top bar.

  • You are assigned to only one store (or none). Ask your admin to assign you.

Q: I cannot see a button I expect (e.g. "Convert to Sale").

  • Your role likely lacks the permission, or the record is in a status that hides the button (e.g. only Accepted quotations show "Convert to Sale"). See 11.2.

21.2 Data Issues

Q: Stock looks wrong on a product.

  • Check the Stock Report for that store.
  • Check Stock Adjustments and Activity Log for that product.
  • Look for deleted/edited sales and purchases that may have reversed stock.

Q: My report numbers don't match what I expect.

  • Confirm date range and store filter.
  • Soft-deleted records are excluded — that may be why a number changed after a deletion.
  • For accounting reports, run Trial Balance first; if it doesn't balance, the issue is likely a manual journal that was tampered with — check Activity Log.

Q: I cannot delete an account.

  • An account with transactions cannot be deleted. Deactivate it instead.

Q: A bundle shows 0 stock.

  • That is by design. Bundles are virtual. See 12.2.

21.3 Quotations

Q: My quotation expired before the customer responded.

  • Create a new quotation (you can copy the items) or — for staff with permission — Edit to extend the expiry before it expires next time.

Q: "Convert to Sale" button is missing.

  • The quotation is not in Accepted status, or has already been converted, or you do not have permission. See 11.6.

21.4 Email & SMS

Q: Customer did not receive the quotation email.

  • Check the customer's email on file is correct.
  • Ask them to look in the spam folder.
  • Re-send via Send Email on the quotation.

Q: I never receive the OTP SMS.

  • Confirm phone number on file.
  • Wait 60 seconds before re-requesting (rate limit).
  • If OTP still fails, contact your administrator.

21.5 Performance

Q: A list page is slow.

  • Apply tighter filters (date range, single store).
  • Reduce per-page size if available.
  • Contact your admin if persistent.

22. Glossary

  • Account — a bucket in the chart of accounts (e.g. "Cash", "Sales Revenue").
  • Accountable entity — what an account "belongs to" — a Customer, Supplier, Store, Company, or User. Used for filtering ledgers.
  • Audit Trail — automatic log of who changed what.
  • Balance Sheet — snapshot of Assets, Liabilities, Equity at a point in time.
  • Base unit — smallest unit of a product.
  • Bundle — a virtual product made of other products.
  • COGS — Cost of Goods Sold; what your inventory cost you.
  • Credit / Debit — the two sides of every accounting entry.
  • Income Statement (P&L) — revenue, costs, profit over a period.
  • Inclusive / Exclusive Tax — whether listed price already includes tax or not.
  • Inventory — value of stock you currently own.
  • Journal — a record of one transaction (with debits and credits).
  • Ledger — list of all transactions on one account, with running balance.
  • Manual Journal — a journal entry you write yourself instead of one auto-generated by a sale or purchase.
  • Multi-tenant — many isolated companies in the same software.
  • Payable — money you owe (suppliers, loans).
  • Receivable — money owed to you (customers).
  • Soft delete — a record marked as deleted but kept for history; the matching journal is reversed.
  • Store / Branch — a physical or logical shop location with its own stock.
  • Tenant — same as Company.
  • Trial Balance — list of all account balances, used to confirm the books are in balance.
  • Unit conversion — relationship between two units of the same product (e.g. 1 carton = 12 pieces).
  • Voucher — a multi-line manual journal grouped by a batch ID.

23. Appendix A — Permission Reference

This is a list of permission keys grouped by module. Use it to design custom roles.

NOTE: Exact permission names may vary slightly per installation. Treat this as a reference. The seeder is the authoritative source.

23.1 Users / Roles / Permissions

  • view user, create user, edit user, delete user
  • view role, create role, edit role, delete role
  • view permission

23.2 Company / Store

  • view company, create company, edit company, delete company
  • view store, create store, edit store, delete store
  • assign user to store

23.3 Master Data

  • view brand, create brand, edit brand, delete brand
  • view category, create category, edit category, delete category
  • view unit, create unit, edit unit, delete unit
  • view tax, create tax, edit tax, delete tax
  • view additional field, create additional field, edit additional field, delete additional field

23.4 Products & Stock

  • view product, create product, edit product, delete product
  • view bundle, create bundle, edit bundle, delete bundle, bundle operations
  • view stock adjustment, create stock adjustment, delete stock adjustment

23.5 Customers & Suppliers

  • view customer, create customer, edit customer, delete customer
  • view supplier, create supplier, edit supplier, delete supplier

23.6 Sales / Purchases / Quotations

  • view sale, create sale, edit sale, delete sale, send sale email
  • view sale payment, create sale payment, delete sale payment
  • view purchase, create purchase, edit purchase, delete purchase
  • view purchase payment, create purchase payment, delete purchase payment
  • view quotation, create quotation, edit quotation, delete quotation
  • mark quotation sent, send quotation email
  • accept quotation, reject quotation, convert quotation to sale

23.7 Accounting

  • view account, create account, edit account, deactivate account, delete account, reset account balance
  • view journal
  • view manual journal, create manual journal, delete manual journal
  • view ledger
  • view fund transfer, create fund transfer, delete fund transfer
  • view payment, create payment, delete payment
  • view income, create income, delete income
  • view expense, create expense, delete expense
  • view loan, create loan, delete loan
  • view loan return, create loan return
  • view security deposit, create security deposit, delete security deposit

23.8 Reports

  • view sales report
  • view purchase report
  • view stock report
  • view income statement
  • view balance sheet
  • view trial balance
  • view account statement
  • view customer due report
  • view supplier due report

23.9 System

  • view activity log
  • view settings, update settings