
Revenue & Operations


Revenue & Operations| Platform | Stores | Closed months | Revenue | Fees | COGS / stock | Monthly fees | Net profit | Margin |
|---|
From each store's monthly closing, not from orders. Every store is converted to USD at the rates in the top bar (other currencies use the rate set in the store manager), then shown in the currency you have chosen.
| ASIN / SKU | Product | Units | Revenue | Fees | COGS | Net profit | Margin | ROI |
|---|---|---|---|---|---|---|---|---|
| Open this tab to load your e-commerce P&L… | ||||||||
Stats only, worked out from the orders you logged - the books come from the monthly closing. Net = Revenue − fees − COGS · ROI = Net ÷ COGS. Set per‑unit COGS in the Inventory/Products tab for accurate cost & ROI.
Stock is calculated automatically: Delivered units come from shipments marked Delivered, Sold from closed monthly closings, and Misplaced from lost units — Available = Delivered − Sold + Manual ±. Use the + and − beside Available for stock that moves outside a tracked shipment - an order arriving, a recount, a damaged unit. Every change needs a reason and is kept in the stock history below for 365 days.
| SKU | Platform ID | Product name | Category | Buy | Label | Freight /u | L in | W in | H in | Wt lb | Fulfil fee /u | Fee % | Delivered | Manual ± | Sold | Misplaced | Available | Status | Actions |
|---|
Every stock added or taken off by hand, with its reason and who did it. Kept for 365 days, then deleted automatically - download the CSV to keep anything longer. Deleting old history never changes the stock count.
| Date | Store | SKU | Product | Change | Available after | Reason | By |
|---|
Your order log - for your own stats. Nothing here feeds the books: profit, the P&L, the dashboard, investor shares and stock all come from each store's Monthly closing. Fees start from the store's own rates and every one is editable. Prices and fees are in the store's own currency.
| Order ID | Date | SKU | Product | Qty | Price | Marketplace fee | Fulfilment fee | Storage | Long-term storage | Removal / disposal | Returns | Advertising | Other fees | Revenue | COGS | Net | Status | Actions |
|---|
Log marketplace payouts, misplaced/lost inventory, reimbursements. Unit adjustments feed back into available inventory.
| Date | Type | SKU | Description | Units adj. | Amount $ | Status | Actions |
|---|
Each shipment can hold multiple SKUs. Set the status to Delivered to move its units into Inventory, or Misplaced if it's lost at the marketplace's warehouse (it then appears under Reimbursement). You can also flag misplaced units on an individual line.
What each store pays its platform every month. Choose a store at the top to edit its fees.
The platforms your stores sell on, and what each one calls its own product id. Fees are not set here - every store's fees are typed in on that store above.
| Platform | Product ID is called | Stores |
|---|
| Tool name | Amount $/mo | Notes | Actions |
|---|
One sheet per store per month, typed from that platform's own monthly statement. This is the books: profit, the P&L, the dashboard, stock sold and every investor's share come from here. Closing a month locks its figures and works out the investor shares; a loss is carried forward and set against the next profit before anybody is paid.
| Month | Store | Status | Sales | Profit | Loss carried in | To investors |
|---|
Each investor holds a share of ONE store's profit, and it is allocated automatically: every month's profit is split by share % the moment it is entered, and locked when the month is closed. Shares on a store cannot pass 100% - the rest is the company's. Active and sleeping (a silent partner) both receive their share; inactive receives nothing for months after the date they stopped.
| Investor | Store | Capital | Share | Status | This period | Earned | Paid | Owed |
|---|
This period is the share of every month in the period chosen above, including months still in draft. Earned, Paid and Owed count closed months only - a draft can still change.
Every month's profit, split automatically across the store's investors. Draft months move as the closing is filled in; a closed month is locked and can be marked paid. Marking one paid changes nothing in the figures - it records that the money went out.
| Month | Store | Investor | Share | Amount | Status | Paid on |
|---|
Units lost in a marketplace warehouse show up here automatically — either a whole shipment marked Misplaced, or misplaced units set on a shipment line. Reimbursement value defaults to units × (unit cost + freight), but you can edit the amount to match what Amazon actually paid (clear it to revert). Tick Claimed and set the received date once Amazon reimburses you.
| Shipment | SKU | Product | Units | Unit cost $ | Diff vs shipment | Reimbursement $ | Claim status |
|---|
Record reimbursements the marketplace paid you directly (case-log claims, refunds, etc.) that aren't tied to a shipment. Tick Received to count it as e-commerce inflow for the date shown. Everything auto-saves and is editable.
| Date received | SKU | Case # / note | Units | Amount $ | Status |
|---|
Your team directory. Monthly salary is in PKR and feeds the Payroll tab.
| Name | Designation | Department | Join date | Salary Rs/mo | Mobile / WhatsApp | Status | Actions |
|---|
Generate a pay run for the selected month from active employees, adjust bonus/deductions, and mark as paid. The latest month's net total flows into Office → Outflow automatically.
| Employee | Designation | Base Rs | Bonus Rs | Deduction Rs | Net pay Rs | Paid | Pay date |
|---|
Pick a date and mark each team member Present, Absent, Leave or Half day. Everything auto-saves. The summary below counts the selected day.
| Employee | Designation | Status | Check-in | Check-out | Break | Note |
|---|
Company letters on the official letterhead. A4 portrait, equal margins. Every letter carries a reference number and a QR code that verifies it at ecomsy.com.pk/verify.
| Reference | Type | Recipient | Subject | Issued | Status | Actions |
|---|
A4 landscape with equal margins. Each certificate carries a unique reference and a QR code that verifies it at ecomsy.com.pk/verify.
| Reference | Type | Recipient | Title | Issued | Status | Actions |
|---|
Contracts between two or more parties, structured to international drafting practice: recitals, definitions, numbered operative clauses, boilerplate and execution blocks. A4 portrait with a reference number and QR verification.
| Reference | Type | Parties | Effective | Status | Actions |
|---|
Create roles and write a description, then toggle a job Open to publish it on the website careers page, or Closed to hide it.
Applications submitted from the website careers page arrive here. Update each candidate's status as you review them.
| Date | Applicant | Applied for | Message / CV link | Status | Actions |
|---|
Conversations from the website live chat (handoffs) and tickets land here. Assign each one to a teammate or a department, set priority, and track it to resolution.
Write posts here and toggle each one Published to put it live on the website blog, or Draft to hide it. Separate paragraphs with a blank line.
Invoices are created on the website. This is a live tracker — every invoice appears here with its status (Not paid → Partially paid → Paid), milestone breakdown, and the inflow it brings in. The received totals also feed the Website figures on your dashboard. Hit Refresh to pull the latest.
Real-time conversations from the website chat widget. When a visitor asks to talk to a person, the chat appears here — reply and they see it live on the site. New messages auto-poll every few seconds while this tab is open.
Leads from the website contact form, live chat, and converted tickets land here. Pick a lead on the left to manage it: assign an owner, move it through the pipeline, and message on WhatsApp.
Track client projects, contract value, payments received, and outstanding amounts.
| Client name | Mobile / WhatsApp | Project | Start date | Deadline | Contract Rs | Discount Rs | Received Rs | Payment date | Outstanding Rs | Platform | Status | Actions |
|---|
Record day-to-day office spending under custom labels like food, cleaning, water and more — add your own labels anytime. Totals are summarised below by month and by label.
| Date | Label | Description | Amount Rs |
|---|
All expenses in PKR. Auto-converted to USD using the rate above for the dashboard.
| Expense name | Amount Rs/mo | Category | Notes | Actions |
|---|
Every student and client invoice in one place. Search by name or invoice ID, then print or save as PDF.
| Invoice ID | Type | Name | Mobile / WhatsApp | Amount Rs | Paid Rs | Balance Rs | Status | Invoice |
|---|
Online registrations from the website land here with the student's payment screenshot. Add walk-in students with "Manual registration". Set the payment status, then mark Enrolled and assign a batch — enrolled students move to the Students tab and can download their receipt and certificate from the website.
| Name | WhatsApp / Phone | CNIC | Student ID | Course | Mode | Proof | Total ₨ | Disc. ₨ | Paid ₨ | Payment | Enrollment | Batch |
|---|
These are the live website courses. Edit the title, fee and duration here and the website stays in sync. Courses are added or removed from the website code, not here.
| Course title | Fee ₨ | Compare price ₨ | Duration |
|---|
Students you've marked Enrolled. After a course's duration, issue their certificate from the Certificates tab.
| Student | Student ID | Course | Batch | Enrolled | Total ₨ | Paid ₨ | Certificate |
|---|
Create batches for any course and set their schedule and capacity. Allot a student to a batch from the Registration tab's Batch column — only batches for that student's course will be offered.
| Batch name | Course | Mode | Start date | Schedule / timing | Seats | Allotted | Status |
|---|
Issue a certificate for an enrolled student from the Students tab. Each one gets a unique verification code that students and employers can verify on the website. Certificates carry the legal name ECOMSY (SMC-PRIVATE) LIMITED and the “electronically generated — no signature required” note.
| Student | Student ID | Course | Issued | Verification code | Status | Verify link |
|---|
These are your live website courses (the ones under Fees). Click Sync from website to pull them in as portal courses, then build each one's modules and lessons. All courses are Live. Pricing & registrations stay under Registration / Fees.
Schedule live cohort sessions with their Google Meet links. Students see upcoming classes in their portal.
Post announcements to all students or a single course. Optionally email them at the same time.
Flags possible account sharing (same login from many IPs / at once). Flags are signals for review — blocking is always a manual choice.
Create instructor logins and allot specific courses to each instructor. Instructors sign in at /lms/admin.html and see/edit only their assigned courses — never Security, Settings, fees, or other instructors' courses. Admins (and you, here in the ERP) manage everything.
Settings shown to students in the portal (e.g. the WhatsApp community link).
Applications submitted from the website mentorship pages land here. Contact applicants on WhatsApp, then Enrol them to start tracking their monthly fee under Mentorship Students.
Enrolled mentorship students with their program, monthly fee and payment record. Recorded payments count as Office → Inflow on the dashboard.
Create a login for each team member, choose a role, then fine-tune exactly which tabs and sections they can open.
Everyone currently signed in. Revoke a session to force that device to sign in again.
| User | Role | Device / browser | IP | Last active |
|---|
A role decides what its members can do in every section: view it, add new records, edit existing ones, delete and export. Give each person one role under Users. Admin is fixed and can do everything. These rules are enforced by the server, not only hidden on screen: people never receive data they may not view, and changes they may not make are not saved.
Add everybody who signs for ECOMSY, with their designation and signature. Pick them as Signed by on a letter, certificate or agreement and their signature and stamp are placed on it automatically. The default person signs everything else: salary certificates, salary slips, investor statements, course certificates and invoices. The background is removed automatically when you upload - white, cream, grey or any solid colour - so a phone photo or scan works. The checkered pattern behind a preview shows where it is now see-through.
Download a full backup of every record as a JSON file. Keep it somewhere safe — you can restore from it if anything goes wrong.
Tip: in your Hostinger control panel, enable automatic database backups for an extra safety net.
Recent sign-ins and changes across the workspace.
| When | User | Action | Detail |
|---|