One Piece India (Aristo Pharma) â Full Plain English Reference Guide
This software is a comprehensive management platform designed for One Piece India / Aristo Pharma. It unifies financial tracking, operational task management, staff attendance & payroll, price list catalogs, and mobile transaction entries into one central web system.
The application supports two distinct user access levels:
The system enforces multi-layered security protections:
The left-hand sidebar allows rapid switching between all primary web tabs:
Located in the top header for Admins. Displays a live badge counter updated automatically every 30 seconds. Clicking the bell opens a dark dropdown with instant actions for pending mobile approvals, low cash warnings, low bank balances, and overdue tasks.
Located next to the Notification Bell in the header, allowing Admins to quickly view active staff task assignments from any page.
Manage all employee and administrator accounts:
Daily Rate = Monthly Salary / 30.Real-time security log recording every single login attempt. Captures Date & Time, IP Address, Attempted Username, Status (SUCCESS / FAILED), and Browser Device User-Agent.
Lists devices temporarily locked due to failed passwords. Displays IP Address, Expiration Time, Remaining Countdown, and Last Username Tried. Click "đ UNLOCK" to restore access immediately.
Lists IP addresses placed under extended security bans. Click "đ REVOKE BAN" to remove an IP from the blacklist.
Displays all mobile phones attempting to connect via the Android Quick Entry App. Admins click "APPROVE" to allow a phone to post entries, "REJECT" to block access, or "đī¸" to delete the record.
Dedicated interface for reviewing and approving pending Mobile App device registration requests.
Displays dynamic warning cards for critical business events:
Complete historical log of all automated emails sent by the system, including recipient email, subject line, timestamp, and delivery status.
Provides real-time financial health cards: Total Cash in Hand, Total Bank Account Balance, Total Credit Card Limit & Debt, Total Loan Debt, and Net Cash Position (Cash + Bank - Credit Debt).
Add and manage business bank accounts (Kotak Bank, HDFC, SBI, Punjab and Sindh Bank, etc.). Supports SB (Savings), CA (Current), and OD (Limit Account) types. OD accounts allow negative balances up to the sanctioned limit (e.g. âš10,00,000) with zero notifications until the negative limit is exceeded. Balances automatically adjust as income, expenses, and ledger entries are logged.
Track credit limits, current outstanding balances, billing statement dates, and payment due dates. Allows paying card bills directly and managing monthly EMI deductions.
Track active business loans and personal debts. Uses a Debt Snowball algorithm to project optimal payoff schedules, estimated payoff dates, and total interest saved. Options to foreclose or reopen loans.
Log daily business expenses. Record Date, Amount (âš), Category (Rent, Salaries, Utilities, Supplies, Marketing, Raw Material, Freight, etc.), Payment Mode (Cash, Bank, Credit Card), Payee, and upload receipt images.
Record daily sales and revenue. Inputs include Date, Amount (âš), Customer/Source, Payment Mode (Bank, Cash, UPI), and Reference Number.
Track wholesale customer credit sales (Receivables) and vendor/supplier debts (Payables) with due dates and payment tracking.
Visual 30-day cashflow forecasts, category expense breakdowns, and monthly profit/loss summaries.
The entire Finance Dashboard has been overhauled to match the modern Saffron theme and high-density space management of TASK OPI (tasks_opi.php):
Outfit, Saffron primary accents (#ea580c / #f97316), glowing active tab badges with amber text (#fdba74), and dark slate backgrounds.display: grid; grid-template-columns: 1fr 1fr; gap: 8px;), completely eliminating empty vertical space..excel-input and .btn-save / .btn-action / .btn-edit / .btn-delete.#141720 and #1d212d) with interactive saffron hover glow (rgba(234, 88, 12, 0.22)).Staff and users can submit daily entries (NMS Cash, Store Purchases, Old Purchase Payments, Cash Out) at any time without lockout deadlines. Staff users can add new records but cannot edit or delete submitted entries. Full modification and deletion permissions are reserved for Administrators.
All Party / Vendor name fields feature smart typing autocomplete. As users type, matching parties from the database appear in a clean dropdown list. Users can also click + Add New Party to register new vendors instantly without navigating away.
Admins create tasks with Title, Instructions, Assigned Staff Member, Priority Level (Low, Medium, High, Urgent), Category, and Due Date/Time.
Tasks transition through four states: Pending â In Progress â Completed â Closed. Staff members can attach progress notes and completion proof.
The system periodically monitors due dates. Tasks exceeding their deadline automatically trigger overdue alerts in the Notification Bell and send warning emails.
Staff attendance for all elapsed working days automatically defaults to Present (P) on their assigned shift until and unless explicitly modified by an Administrator. Administrators can update any day's shift to Half Day (H), Leave (L), Absent (A), or OFF.
The grace period system has been completely removed. Missing daily cash sheets or tasks do not force staff attendance to a dash (-) or trigger automated absence deductions.
Calculates salary based on: Payable Salary = (Present Days + Allowed Paid Leaves) Ã Daily Rate, where Daily Rate = Base Monthly Salary / 30. Absences beyond allowed paid leaves incur automatic daily rate deductions.
A high-performance native desktop application (ONEPIECEINDIA.exe) built with C# .NET 8, Microsoft WebView2 Evergreen runtime, and an encrypted local SQLite database. It mirrors the exact live production web interface with 100% UI fidelity, high-speed Tab/Enter key navigation parity, and continuous automatic two-way data synchronization.
Every PC running the Windows Mirror App must be explicitly registered and approved by an Administrator before accessing any company data:
DELL1, OFF01, SHOP1).DEV-4519c4df...).Upon authenticating in the Windows Mirror Client:
tasks_opi.php) for immediate wholesale POS operations.index.html) with instant 1-tap access to Price Lists and daily task logs.Located neatly pinned to the bottom-right corner of the application window, the status bar displays:
A lightweight Android web mobile application optimized for smartphones to log sales and expenses on the go in under 5 seconds with individual device authorization.
Monitors night-shift active duty check-in alerts and sleeping detection.
Checks Cash-in-Hand and Bank Account balances nightly against threshold limits and emails warnings to admins when funds are low.
Scans operational task deadlines and automatically flags overdue assignments.
Dedicated task and accounts management system built exclusively for the OPI Wholesale business. All database tables utilize the opi_ prefix to ensure complete data isolation from retail (NMS) records while being deeply integrated with the website's Finance Management System (finance_bank_accounts, finance_income, finance_expenses, finance_receivables, finance_payables). Adopts the preferred Task UI layout with dark theme aesthetics (#111318 background, #1c1f28 card containers), 'Outfit' font, and inline Excel-style table entry forms (.excel-form-table) across all tabs.
All Party / Vendor input fields across Sale Bills, Challans, Purchases, and Cheques feature dynamic typing autocomplete with live server search and inline + Add New Party modal creation, eliminating static dropdowns.
All bank selectors across Sales, Old Bill Payments, Purchases, Advance Payments, and Cheques dynamically load accounts from finance_bank_accounts, displaying the concise account nickname first with live balance (e.g. PSB 00001 (âš-1,26,656.88), OPI INDUS 0505 (âš4,768.62)) without bulky bank name prefixes, ensuring clean dropdown rendering in compact tables.
Supports two distinct document types with automated serial logic, dynamic status restrictions & full old bill payment adjustment:
26 for FY 2026â27, automatically switching to 27 on 1 April 2027 for FY 2027â28) is displayed as a fixed badge outside the entry box. Users only type the sequence suffix (e.g. A001), with auto-generated sequence incrementing (26A001 to 26A999, 26B000 onwards).CA000001 onwards.UNPAID, Payment Method and Bank Account fields are locked and display a restricted (not-allowed) cursor on hover.PAID, the funds instantly credit the selected Finance Bank Account (or Cash in Hand) and record an inflow in finance_income under source 'OPI Income'. When UNPAID or PARTIALLY_PAID, an active receivable in finance_receivables is maintained.â Bill #26A001 and â
Converted (Bill #26A001)) in the Wholesale Sales Register and Vendor Ledger.đ° RECEIVE OLD SALE BILL PAYMENT) providing fast adjustment for credit/unpaid bills by searching/typing the Bill Number with autocomplete. The system automatically fetches Party Name, Bill Total, and Pending Balance. Submitting records an income in finance_income, credits the selected Finance Bank account, and reduces the pending balance in finance_receivables.Record wholesale purchases and manage advance supplier payments seamlessly via inline sheets:
finance_expenses ('OPI Purchase'), while pending amounts record in finance_payables.đ¸ RECORD ADVANCE PAYMENT TO VENDOR) capturing Payment Date (≤ Today), Party Name (Autocomplete), Amount (âš), Mode (CASH, PHONEPE/UPI, BANK, CHEQUE), Bank Account, and Remarks. Payments automatically deduct from the Finance Bank account and log an expense in finance_expenses ('OPI Advance Payment').Adopts the standard NMS format featuring a top 2-column search and bulk import grid, comprehensive ledger balance directory, and detailed party ledger statement modal:
opi_vendors_template.xlsx) and upload .xlsx/.xls spreadsheets using SheetJS to bulk import hundreds of wholesale parties and opening balances in seconds.đ View Ledger): Clicking the blue "View Ledger" button opens a comprehensive statement modal for any vendor showing initial balance, sales bills, delivery challans, old bill payments, cleared cheques, purchases, supplier advances, and running ledger balance with a đ¨ī¸ Print Ledger option.Comprehensive cheque tracking with automatic bill adjustments and clearance lifecycle:
⥠Auto FIFO Allocate button, individual checkboxes, and partial payment allocation inputs (supporting partial adjustments if cheque amount is less than bill amount). If the party has no pending bills, the cheque is saved as an unallocated in-hand cheque.PENDING or SUBMITTED status, the bill adjustments are linked in opi_cheque_allocations, but the bills remain UNPAID because funds have not yet cleared.SUBMITTED): Clicking "đ¤ Submit to Bank" opens a modal to assign the deposit OPI Bank Account. The [đ Adjust Bills] button remains available on the table to review or adjust bill allocations at any time.CLEARED): When marked as CLEARED, funds are deposited into the Finance Bank Account (finance_income), and all adjusted bills automatically update to PAID (or PARTIALLY_PAID), syncing finance_receivables.UNPAID.Automated batch processing for wholesale PhonePe and UPI digital receipts:
PAID immediately. Customer dues and party ledgers update in real-time.opi_phonepe_settlements) instead of creating cluttered individual bank deposits.finance_income record ("OPI PhonePe Batch Settlement for 19/08/2026 (3 transactions)").Optimized dashboard interface ensuring fast rendering and clutter-free POS experience:
Visual status workflow for Wholesale Sales Register entries:
Streamlined old bill collection system allowing fast multi-bill settlement:
Integrated merchandise return workflow for wholesale customers:
[đ SALE BILL], [đ CHALLAN], and [âŠī¸ SALE RETURN].CN (e.g. CN000001, CN000002).finance_expenses ('Refund' / 'OPI Sale Return Refund') with zero net ledger distortion.[âŠī¸ SALE RETURN] and pink-highlighted CN return numbers in both the Wholesale Sales Register and View ALL modal.Merchandise return workflow for wholesale suppliers and vendors:
[đ PURCHASE] and [âŠī¸ PURCHASE RETURN].DN (e.g. DN000001, DN000002).finance_income ('Refund' / 'OPI Purchase Return Refund') with zero net ledger distortion.[âŠī¸ PURCHASE RETURN] and amber-highlighted DN reference numbers in both the Wholesale Purchases Register and View ALL modal.Elevated UI styling for optimal readability and contrast:
#1e2433), light readable text (#cbd5e1), and defined borders (#333d52).#2563eb) for Sale Bills, Purple (#7c3aed) for Challans, Rose (#db2777) for Sale Returns, Emerald (#059669) for Purchases, and Amber (#d97706) for Purchase Returns..btn-icon-badge containers with drop shadows to ensure they never blend into dark backgrounds.Streamlined modification request queue with batch action support:
âī¸ edit icon). Includes an expandable accordion toggle ([đī¸ Diff]) to reveal detailed side-by-side Old vs New comparison cards on demand.[â
Approve Selected] and [â Reject Selected]) allow approving or rejecting multiple modification requests atomically with full database transactions and automated finance syncing.Dedicated cash account management for wholesale operations, fully isolated from retail store cash:
opi_cash_in_hand, completely segregated from retail NMS cash (finance_cash_in_hand).Date, Type (1 - EXPENSE, 2 - TO BANK, 3 - TO OWNER), dynamic Remark / Bank, Amount (âš), and + Add Entry.1 - EXPENSE: Text input for entering expense description/reason. Auto-syncs to finance_expenses under 'Business Expense' / 'OPI Cash Expense' (payment method = 'CASH').2 - TO BANK: Dropdown select populated with OPI Wholesale bank accounts. Auto-credits the selected bank account in finance_bank_accounts and logs an 'OPI Cash Deposit' transfer.3 - TO OWNER: Read-only text indicator "To Abhijeet - Owner Cash Withdrawal". Auto-credits owner drawings in finance_owner_cash under Abhijeet's ledger.đ View ALL () and đĩ Cash Statement) launch a comprehensive modal statement (#allOpiCashModal) featuring chronological running balances, date filters, transaction type filters, real-time search, and 1-click printable statements.finance_dashboard.php) displays dual registered cash balances (NMS Cash and đĩ OPI Cash) with individual ledger audit buttons and live update controls. CFO Analytics aggregates both cash pools into total organization liquidity.Physical delivery proof and signed 2nd-copy bill tracking for wholesale orders:
-).âŗ PENDING: Clickable button/box indicating signed copy is awaited.â
RECEIVED: Green badge with checkmark indicating physical signed copy is verified and in hand, with hover tooltip showing verification author and timestamp.has_receiving = 1) via instant AJAX update.has_receiving = 0). Attempted staff unchecks trigger a security permission warning.All Receiving, âŗ Pending Receiving, â
Received Only) in the main header and View ALL modal allows isolating unpaid dispatches missing signed copies. Modal KPI includes a live Pending Receiving (Unpaid) counter.đ Export Excel) with RECEIVED, PENDING, or - status.Integrated checklist workflow tracking daily NMS Cash sheet submissions, store purchase entries, vendor balance checks, and staff attendance. Visual task cards display completion status to ensure daily operational workflow compliance.
All tables across TASK NMS follow the 10-item display standard on the main dashboard with dedicated "đ View ALL (
To eliminate erroneous future-dated entries, all date fields across TASK NMS, TASK OPI, Finance Dashboard, and Mobile App enforce a strict maximum date of the current working date (Today). The constraint is enforced in HTML5 date pickers, frontend form validation, and backend PHP APIs. Exception: Cheque maturity dates (cheque_date) remain exempt to accommodate post-dated cheques.
Dedicated administration module accessible strictly to Administrator accounts (ADMIN ONLY). Eliminates hardcoded business values and provides a streamlined dashboard to customize portal accounts, alert thresholds, shift schedules, and operational parameters dynamically.
Admins can configure the Default OPI Bank Account to prioritize specific accounts (e.g. PSB or IndusInd) in all wholesale forms, and define the PhonePe / UPI Settlement Bank Account where daily consolidated collections deposit on T+1 next morning.
Dynamic configuration of minimum balances triggering alarm banners and email warnings for Low Cash in Hand (default: âš5,000) and Low Bank Balance for CA/SB accounts (default: âš10,000).
Configures night shift duty start/end hours, interactive math captcha frequency intervals (e.g. every 20 mins), response grace periods, allowed monthly paid leaves, and daily salary wage divisor.
Customization of maximum consecutive failed login attempts before IP lockout (default: 5), lockout waiting duration (mins), session inactivity timeout (hours), and mobile device approval policies.
Consolidated administrative control center for the Windows Mirror Desktop App and connected workstations:
đģ Download Windows App (.ZIP) button providing instant access to ONEPIECEINDIA-APP-V2.04.20092026.zip via download.php streaming without Apache 403 blocks.All data tables across TASK OPI, TASK NMS, Finance Dashboard, and Modals utilize an alternating 2-color row layout (Odd: #141720 / Even: #1d212d). This provides clear visual separation and effortless eye tracking across wide multi-column financial registers without disrupting the dark mode theme.
Hovering over any table row dynamically illuminates the entire row with a warm amber/theme highlight (rgba(234, 88, 12, 0.22)) and crisp white text (#ffffff) with a smooth transition, giving operators immediate visual focus on the active line item.
All dates displayed to users on the frontend across tables, ledgers, modal views, diff accordions, printable statements, and Excel spreadsheets strictly adhere to the DD-MM-YYYY format (or DD-MM-YY where space is constrained). Backend MySQL tables retain standard YYYY-MM-DD storage, with automatic translation handled via formatDateDMY().
MANDATORY FOR ALL DEVELOPERS & AGENTS: With every single change, feature addition, bugfix, architectural adjustment, or UI alteration, this System Guide (readme.html), the Version Manifest (version.json), and project records (docs/) MUST be updated immediately in the exact same development turn.
The System Guide must explain how the new feature works in clear plain English so that any new user or administrator can understand without confusion. Releases or code deliveries without accompanying System Guide updates are strictly prohibited across this project.
Role-Based Intelligent Landing: Admin Lands on Finance Dashboard, Users Land on Home Gateway Page:
finance_dashboard.php) upon login, providing immediate real-time financial tracking and register management.index.html) with quick access to daily operations, tasks, and attendance.app_entry.php and login.php to enforce unified role routing across both web browser sessions and the Windows desktop workstation application.Wholesale Task Register Save & Error Handling Hardening, Parameter Alignment & IST Time Sync:
mysqli_stmt_bind_param parameter type string lengths in tasks_opi_api.php. Fixed add_bill (corrected 14 type specifiers to match 13 bound variables) and receive_bill_payment (corrected 11 type specifiers to match 10 bound variables). This completely eliminates the fatal ArgumentCountError that halted save requests under PHP 8+.catch (Exception $e) blocks across transaction endpoints in tasks_opi_api.php with catch (Throwable $e). Ensures that all fatal PHP 8 Error, TypeError, and ArgumentCountError classes are safely caught, triggering automated rollback and returning clean JSON responses instead of unhandled HTTP 500 crashes.tasks_opi.php by switching date validation from new Date().toISOString() to local getTodayStr() (calendar year-month-day). Resolves false "Date cannot be in the future" submission rejections during early morning hours (+05:30 IST offset).Saving...) with button disable/enable safeguards across all 7 wholesale entry forms (Sale Bill, Challan, Sale Return, Convert, Purchase, Purchase Return, Old Bill Adjustment). Added comprehensive r.ok validation and .catch() promise rejection handlers with clear error toasts so users never experience unresponsive buttons.ONEPIECEINDIA-APP-V2.03.20092026.zip with verified SHA-256 integrity, ensuring full parity and zero-friction updates across both web and Windows desktop environments.NMS Purchase Only-Add Policy Alignment, Creator Audit Attribution & Desktop App Sync:
tasks_api.php (get_purchases). Removed the erroneous condition that locked the form when count($purchases) > 0. Staff members can now log multiple purchase bills and vendor invoices throughout the business day without being locked out after 1 or 2 entries.created_by_name) to the get_purchases and get_recent_purchases API responses. The 'ENTERED BY' column in the Purchases register now displays the submitting user's name instead of blank (â).ONEPIECEINDIA-APP-V2.02.19092026.zip with verified SHA-256 integrity, allowing connected desktop mirror applications to automatically detect the update and self-upgrade via OpiUpdater.exe.Workstation Security Gate, Role-Based Landing, Bottom Right-Aligned Sync & Settings APP Consolidation:
DELL1, OFF01) and combines it with cryptographic hardware fingerprinting. Locks entirely on PENDING ADMIN APPROVAL with zero login page access until approved by Admin on the website. Background auto-polling (4s) unlocks instantly upon approval without needing an app restart.tasks_opi.php), while Staff/Users land cleanly on the Home Gateway Page (index.html). Handled via app_entry.php.MainForm.cs. Displays clean â ONLINE â SYNCED (PC_NAME) when synchronized; shows (X Queued) badge only when offline operations await connection. Zero false 'Pending' text.APP (Mirror & Devices) tab in settings.php. Sidebar navigation is cleanly decluttered.download_app.php. Streaming binary script (download.php) handles ZIP package downloads securely.version.json 3.5s after launch and periodically every 15 minutes. When a newer version is published, it displays a status prompt, downloads the ZIP package, verifies SHA-256 integrity, hands over execution to OpiUpdater.exe, cleanly preserves the local SQLite database, replaces binaries, and restarts the application without requiring manual ZIP downloads.app.ico embedded in ONEPIECEINDIA.exe, window title, and Windows Taskbar for full brand parity.Windows Desktop Mirror Client & Offline Sync Engine Architecture (Major Release):
api_sync_operations).TASK OPI Typography & Density Alignment, GitLens-Style Tooltips & Attendance Button Discontinuation:
MARK ATTENDANCE button and its interval polling loop from sidebar.js, and disabled triggers in attendance_api.php with automated DOM self-cleaning.'Outfit' and FontAwesome into tasks.php. Restored readable 12px table cell text with 7px 10px padding for optimal clarity matching TASK OPI.Edit and Delete buttons with sleek, space-saving square icon buttons (.btn-icon-action) across all table rows and modals.Compact Excel Grid Density, Email Outbox Archive & Sidebar Polish:
VERSION - V1.05.170926.View ALL modal archive featuring live real-time search.tasks.php tables, inputs, and action buttons to match TASK OPI compact dimensions, ensuring maximum row visibility like an Excel sheet.Edit, Delete, and form submit buttons with sleek inline .btn-sm actions.Complete UI/UX Overhaul, Mobile-First Ergonomics & Data Entry Acceleration:
data-label elements.inputmode="decimal" and focus auto-select across all financial, quantity, and rate fields to trigger the numeric keypad immediately on smartphones.tasks.php and tasks_opi.php for instant one-handed date entry.window.showToast() for sleek, non-blocking feedback messages across the ERP suite.finance_dashboard.php and users.php to tasks.php, eliminating browser freezing.Critical Runtime Fix & TASK NMS Data Loading Restoration:
tasks_api.php: Fixed fatal runtime crash Call to undefined function addColumnIfNeeded() when session bootstrap flag was active. Hoisted addColumnIfNeeded definition to top-level global scope.nms_payments and nms_vendors inside the session bootstrap check instead of executing unconditionally on every request.get_cash, get_recent_cash, get_purchases, get_recent_purchases, get_payments, get_cash_out) now return HTTP 200 JSON responses, restoring Opening Cash in Hand, Opening Old Dues, and all historical tables.Controlled Section Rebuild Changes:
finance_add_loan.php, finance_all_loans.php, finance_edit_loan.php, and emails.php now preserve query parameters, forward loan IDs, and target specific tabs seamlessly without dead code.CREATE TABLE definitions in tasks_api.php with live MariaDB schema; removed prototype column conflicts in nms_cash and nms_cash_out.created_by from INSERT INTO finance_expenses in tasks_opi_api.php (line 1380).finance_dashboard.php for auto-activating tabs (?tab=loans, ?tab=emis, ?tab=expenses).Changes:
V{Master}.{Minor}.{DDMMYY} across application and documentation.VERSION.md, VERSION_HISTORY.md, and SYSTEM_RULES.md with mandatory pre-analysis reading rules..htaccess.CREATE TABLE / SHOW COLUMNS) gated behind session cache, eliminating 35+ redundant queries per API request; created and applied database performance indexes.Changes: