# ProInvoice — User Manual

**Audience:** Day-to-day users of the Admin Panel (owners, accountants, staff)  
**Assumes:** Installation is complete; you can log in.  

---

## Table of contents

1. [Signing in & security basics](#1-signing-in--security-basics)  
2. [Admin dashboard overview](#2-admin-dashboard-overview)  
3. [Customers](#3-customers)  
4. [Suppliers](#4-suppliers)  
5. [Invoices](#5-invoices)  
6. [Quotations & estimates](#6-quotations--estimates)  
7. [Purchases](#7-purchases)  
8. [Purchase orders](#8-purchase-orders)  
9. [Debit notes](#9-debit-notes)  
10. [Payments & receipts](#10-payments--receipts)  
11. [Expense management](#11-expense-management)  
12. [Accounting](#12-accounting)  
13. [Reports](#13-reports)  
14. [Reminder system (billing automation)](#14-reminder-system-billing-automation)  
15. [Email templates (reminders)](#15-email-templates-reminders)  
16. [Email configuration (SMTP)](#16-email-configuration-smtp)  
17. [Cron jobs & scheduled tasks](#17-cron-jobs--scheduled-tasks)  
18. [Settings](#18-settings)  
19. [Roles & permissions](#19-roles--permissions)  
20. [Addon manager](#20-addon-manager)  
21. [License status](#21-license-status)  
22. [System settings](#22-system-settings)  
23. [Support & updates](#23-support--updates)  
24. [Appendix: In-app help snippets](#24-appendix-in-app-help-snippets)  

> **Note:** Menu labels may vary slightly by version or active addons. Use this manual together with what you see on screen.

---

## 1. Signing in & security basics

### 1.1 Login URL

After installation, open your site address in a browser. Common patterns:

- `https://yourdomain.com/login`  
- `https://yourdomain.com/admin/login`  

Use the URL shown **at the end of installation** or in the author readme.

[Insert Screenshot: Admin Login]

### 1.2 How to sign in

1. Enter your **email** and **password**.  
2. Click **Log in**.  

### 1.3 First login — change your password

> **Best practice:** For security, **change your admin password immediately** after your first login.

Typical steps:

1. Click your **profile** or **account** menu (top right).  
2. Choose **Profile**, **Account Settings**, or **Change Password**.  
3. Enter **current password** and **new password** twice.  
4. Save.  

Use a **strong password** (long, unique, not reused from other sites).

### 1.4 Log out securely

Use **Log out** from the profile menu—especially on **shared computers**.

---

## 2. Admin dashboard overview

### 2.1 Purpose

The **Dashboard** is your **home page**: quick view of business health, shortcuts, and alerts.

### 2.2 KPIs and summary cards

You may see cards such as:

- **Total sales** (period)  
- **Outstanding** (unpaid invoices)  
- **Overdue** count  
- **Recent payments**  

> **Tip:** If a number looks wrong, check **date filters** and **currency** settings.

### 2.3 Charts

Charts may show **income trends**, **expense trends**, or **invoice status** breakdowns.

### 2.4 Quick links

Shortcuts often include **New Invoice**, **New Customer**, or **Reports**.

### 2.5 Notifications

A **notification** area may show system messages, due tasks, or updates. Click items to open details.

### 2.6 Reports entry point

Some dashboards link to **Reports** for deeper analysis (sales, purchases, accounting).

---

## 3. Customers

### 3.1 Purpose

**Customers** are people or companies you **bill**. Every invoice and quotation is tied to a customer record.

### 3.2 Key features

- Create and edit **customer profiles**  
- Store **billing address**, **email**, **phone**  
- View **invoice history** and **balance** (where implemented)  
- Export or search customers (if available)  

### 3.3 How to use — create customer

1. Open **Sales** or **Customers** (sidebar).  
2. Click **Add Customer** / **New**.  
3. Fill in **name** (required).  
4. Enter **email** (important for sending invoices and **reminder emails**).  
5. Add **phone**, **company**, **address** as needed.  
6. **Save**.  

> **Tip:** A valid **email** reduces support calls—customers receive PDFs and payment reminders.

### 3.4 Edit customer

1. Open **Customers** → click the **customer name** or **Edit**.  
2. Update fields → **Save**.  

### 3.5 Customer profile

The **profile** or **detail** page may show:

- Contact information  
- List of **invoices**  
- **Payments**  
- **Outstanding balance**  

### 3.6 Important notes

- **Duplicate customers** cause split history—merge carefully (or deactivate old record if the product supports it).  
- **Wrong email** → customer won’t receive documents; double-check before sending.  

---

## 4. Suppliers

### 4.1 Purpose

**Suppliers** are vendors you **pay**—used for **purchases**, **purchase orders**, and **debit notes**.

### 4.2 Key features

- Supplier **contact** and **payment** details  
- **Balance** or transaction history (where available)  
- Link to **purchase orders** and **bills**  

### 4.3 How to use — add supplier

1. Open **Purchase** or **Suppliers**.  
2. Click **Add Supplier**.  
3. Enter **name**, **email**, **phone**, **address**.  
4. **Save**.  

### 4.4 Supplier balance & transactions

Open a supplier to see **bills**, **payments**, and **running balance** (if shown).

### 4.5 Important notes

- Keep **tax IDs** and **bank details** accurate for **purchase orders** and **payments**.  
- **Purchase order emails** (if enabled) may go to the supplier’s **email** on file.  

---

## 5. Invoices

### 5.1 Purpose

**Invoices** are formal requests for payment. They drive **revenue reporting**, **customer balances**, and **accounting entries** (where integrated).

### 5.2 Key features

- Create **draft** → **send** → track **viewed / paid / overdue**  
- Line items with **quantity**, **price**, **tax**  
- **PDF download**  
- **Email** and **share link** (if available)  
- **Partial payments** and **full payment**  
- **Recurring** linkage (if generated from recurring templates)  

### 5.3 How to use — create invoice

1. Open **Invoices** → **Create** / **New Invoice**.  
2. Select **Customer**.  
3. Set **issue date** and **due date**.  
4. Add **line items**: description, quantity, unit price, tax (if applicable).  
5. Review **subtotal**, **tax**, **discount**, **total**.  
6. Add **notes** or **terms** (optional).  
7. **Save** as **draft** or **Save & send** (wording varies).  

[Insert Screenshot: Invoice Create Form]

### 5.4 Send invoice

1. Open the **invoice detail** page.  
2. Click **Send Email** (or similar).  
3. Confirm **recipient** email.  
4. Send.  

> **Note:** If **billing reminder automation** is on, creating/saving an invoice may trigger a **“invoice created”** email—see **Reminder System**.

### 5.5 Invoice status

Typical statuses:

| Status | Meaning |
|--------|---------|
| **Draft** | Not sent to customer |
| **Sent** | Delivered or marked sent |
| **Viewed** | Customer opened link (if tracked) |
| **Partial** | Partly paid |
| **Paid** | Fully paid |
| **Overdue** | Past due with balance |
| **Cancelled** | Voided |

### 5.6 PDF download

On the invoice page, click **Download PDF** or **Print**. PDF uses your **invoice template** and **company logo** from Settings.

### 5.7 Important notes

- **Due date** drives **due soon** and **overdue** reminders (if enabled).  
- **Wrong currency** on invoice is hard to fix after payments—set default currency under **Settings** first.  

---

## 6. Quotations & estimates

### 6.1 Purpose

**Quotations** (or **estimates**) are **price proposals** before a sale. They may convert to **invoices** when accepted.

### 6.2 Key features

- **Validity / expiry date**  
- **Send** by email or **public link**  
- **Accept / reject** workflow  
- **Convert to invoice**  

### 6.3 How to use — create quotation

1. Open **Quotations** → **New**.  
2. Choose **Customer**.  
3. Set **issue date** and **expiry date**.  
4. Add **items** and **totals**.  
5. **Save**.  

### 6.4 Send quotation

Use **Email**, **Copy link**, or **WhatsApp** options if your build includes them.

### 6.5 Accept / reject

1. Update **status** to **Accepted** or **Rejected** (admin), **or** use customer portal if available.  
2. **Accepted** may trigger **notification emails** (see Reminder settings).  

### 6.6 Convert to invoice

1. Open quotation → **Convert to Invoice**.  
2. Confirm **due date** and mapping.  
3. Complete—invoice is created and linked.  

### 6.7 Important notes

- **Expiry reminders** run on a schedule—ensure **cron** is configured.  
- After conversion, **do not delete** the quotation if you need an audit trail—check product behavior first.  

---

## 7. Purchases

### 7.1 Purpose

**Purchases** record **money you owe suppliers** (bills / vendor invoices). They feed **expense** and **inventory** views depending on setup.

### 7.2 Key features

- **Supplier** selection  
- **Bill from / bill to** blocks  
- **Line items** and **tax**  
- **Payment summary** and **status**  

### 7.3 How to use — create purchase

1. Open **Purchases** → **New**.  
2. Select **Supplier**.  
3. Enter **dates** and **reference** (supplier invoice no.).  
4. Add **items**.  
5. **Save**.  

### 7.4 Important notes

- Match **purchase currency** to agreements with supplier.  
- Link **payments** when you pay the bill (see **Payments** / **Supplier payments**).  

---

## 8. Purchase orders

### 8.1 Purpose

**Purchase orders (PO)** are **formal orders** to suppliers before goods/services arrive. Useful for **approval** and **receiving** workflows.

### 8.2 Key features

- PO **numbering**  
- **Supplier** workflow  
- **Status** (e.g. new, approved, completed)  
- Optional **email** to supplier (if reminder module enabled)  

### 8.3 How to use — create PO

1. Open **Purchase Orders** → **Create**.  
2. Choose **Supplier** and **order date**.  
3. Add **line items**.  
4. **Save**.  

### 8.4 Status tracking

Update status as the order moves: **pending → approved → completed** (exact labels may vary).

### 8.5 Important notes

- Ensure **supplier email** is correct if the system sends **PO created** notifications.  

---

## 9. Debit notes

### 9.1 Purpose

**Debit notes** document **adjustments** or **charges** related to purchases (e.g. additional charges, corrections). Accounting impact depends on your chart of accounts.

### 9.2 Key features

- Link to **purchases** or suppliers  
- **Line items** and **totals**  
- Reporting in **purchase** or **accounting** reports  

### 9.3 How to use

1. Open **Debit Notes** → **New**.  
2. Select **Supplier** and related **purchase** if applicable.  
3. Enter **reason** and **amounts**.  
4. **Save**.  

### 9.4 Important notes

- Consult your accountant for **tax** and **ledger** treatment.  
- **Do not** duplicate supplier bills—use debit notes only for true adjustments.  

---

## 10. Payments & receipts

### 10.1 Purpose

**Payments** record money received from customers (and possibly supplier payments in a separate menu). **Receipts** confirm customer payments for **paid invoices**.

### 10.2 Key features

- Record **full** or **partial** payment  
- **Payment method** (cash, bank, card)  
- **Receipt** PDF generation  
- Triggers **email notifications** (paid / partial / receipt) if reminders are enabled  

### 10.3 How to use — record payment

1. Open **Payments** → **Record Payment** (or pay from **invoice** page).  
2. Select **Invoice** and **Customer**.  
3. Enter **amount**, **date**, **method**, **reference**.  
4. **Save**.  

### 10.4 Partial payment

Enter an amount **less than** the invoice balance. The invoice becomes **partial** until fully paid.

### 10.5 Receipts

For **paid** invoices, use **Create Receipt** or **View Receipt** if shown. Download or email the **receipt PDF**.

### 10.6 Important notes

- **Duplicate payments** inflate income—always verify **invoice balance** first.  
- **Reminder emails** for partial/paid depend on **Settings → Billing Reminders**.  

---

## 11. Expense management

### 11.1 Purpose

Track **business spending** (rent, utilities, office supplies) for **profit/loss** and **tax** support.

### 11.2 Key features

- **Categories**  
- **Attachments** (if supported)  
- **Reports** integration  

### 11.3 How to use

1. Open **Expenses** → **New**.  
2. Enter **amount**, **date**, **category**, **vendor** (optional).  
3. **Save**.  

### 11.4 Important notes

- Use **consistent categories** for cleaner **accounting reports**.  

---

## 12. Accounting

### 12.1 Purpose

**Accounting** modules provide **chart of accounts**, **journal entries**, and **financial reports** for users who need **double-entry** discipline.

### 12.2 Key features

- **Chart of accounts**  
- **Journal entries**  
- **Income / expense** views  
- **Trial balance**, **P&amp;L**, **tax** reports (where available)  

### 12.3 How to use — chart of accounts

1. Open **Accounting** → **Chart of Accounts**.  
2. Review **account types** (assets, liabilities, income, expenses).  
3. Add accounts only if you understand your **bookkeeping structure** (or ask your accountant).  

### 12.4 Journal entries

1. Open **Journal Entries** → **New**.  
2. Add **debit** and **credit** lines that **balance**.  
3. **Post** / **Save**.  

### 12.5 Important notes

- **Wrong journals** are hard to unwind—use **notes** and **attachments**.  
- **Closing periods**—discuss with accountant before editing old months.  

---

## 13. Reports

### 13.1 Purpose

**Reports** turn your data into **decisions**: who owes you, what you sold, what you bought.

### 13.2 Key features

- **Sales** / **transaction** reports  
- **Purchase** reports  
- **Customer** / **supplier** statements  
- **Accounting** summaries  
- **Inventory** (if module active)  
- **Reminder logs** (email audit trail)  

### 13.3 How to use

1. Open **Reports** from the sidebar.  
2. Choose a **report type**.  
3. Set **date range** and **filters**.  
4. **Run** / **View**.  
5. **Export** CSV or PDF if available.  

### 13.4 Reminder logs report

Shows **email type**, **recipient**, **status** (sent/failed), related **invoice/quotation**. Use for **support** and **compliance**.

### 13.5 Important notes

- Large date ranges may be **slow**—narrow filters first.  
- **Exported files** may contain **PII**—handle securely.  

---

## 14. Reminder system (billing automation)

### 14.1 Purpose

The **reminder system** sends **automatic emails** for invoices, quotations, payments, and more—so you spend less time chasing payments.

### 14.2 Key features

- **Invoice created**, **due soon**, **overdue**, **paid**, **partial payment**  
- **Quotation** created, **expiry**, **accepted**, **rejected**  
- **Purchase order created** (supplier)  
- **Recurring invoice** generated  
- **Payment receipt**  
- **Manual reminder** from invoice/quotation pages  
- **Customer welcome** email  
- **Queue** or **instant** sending (settings)  
- Optional **PDF attachments**  

### 14.3 How to use — settings

1. Go to **Settings** → **Billing Reminders** (or **Reminders**).  
2. Turn **toggles** on/off per event type.  
3. Set **days before due** and **days after overdue** (as offered).  
4. Choose **email mode**: **Queue** (recommended) or **Instant**.  
5. Optionally enable **copy to admin** and **attach PDF**.  
6. **Save**.  

> **Warning:** **Queue** mode requires **cron** and often a **queue worker**. See section 17.

### 14.4 Email templates

Edit subjects and HTML under **Reminder Email Templates** (see next section).

### 14.5 Manual reminders

1. Open an **invoice** or **quotation**.  
2. Scroll to **Billing reminders**.  
3. Click **Send reminder**.  
4. Edit **recipient**, **subject**, **body** → **Send**.  

### 14.6 Important notes

- **Duplicates:** The system avoids sending the **same automated** reminder twice on the same day for the same document (manual sends are separate).  
- **Invalid email:** Logged as **failed**—fix customer email and resend.  
- Full technical reference may exist in `REMINDER_SYSTEM_README.md` in the product files.  

[Insert Screenshot: Reminder Settings]

---

## 15. Email templates (reminders)

### 15.1 Purpose

Customize **automated** customer emails without editing code.

### 15.2 Key features

- **Subject** and **HTML body** per template  
- **Placeholders** like `{customer_name}`, `{invoice_number}`, `{invoice_view_link}`  
- **Preview** with sample data  
- **Reset to default**  
- Enable/disable per template  

### 15.3 How to use

1. Open **Settings** → **Reminder Email Templates**.  
2. Click **Edit** on a template.  
3. Adjust **subject** and **body**.  
4. Use **Preview** before saving.  
5. **Save**.  

### 15.4 Placeholders

The editor sidebar lists allowed placeholders. **Do not remove** essential links if you want customers to open invoices online.

### 15.5 Test email

Use **Settings → Email** test feature (if available) to verify **SMTP** before relying on reminders.

---

## 16. Email configuration (SMTP)

### 16.1 Purpose

SMTP settings let the system **send** invoices, reminders, and password resets.

### 16.2 Fields explained

| Field | Example | Notes |
|-------|---------|-------|
| **Mailer** | SMTP | Use SMTP for most hosts |
| **Host** | smtp.yourhost.com | From hosting docs |
| **Port** | 587 (TLS) or 465 (SSL) | Must match encryption |
| **Username** | full email address | Often required |
| **Password** | mailbox password | App password for Gmail |
| **Encryption** | TLS / SSL | Match port |
| **From address** | billing@yourdomain.com | Should be allowed sender |
| **From name** | Your Business Name | Shown in inbox |

### 16.3 Gmail SMTP (summary)

1. Enable **2-step verification** on Google account.  
2. Create an **App Password** (Google Account → Security).  
3. Use **smtp.gmail.com**, port **587**, TLS, your Gmail as username, **app password** as password.  

> **Warning:** Gmail has **sending limits**; high volume senders should use a transactional provider (SendGrid, SES, etc.).

### 16.4 Mailtrap (testing)

Use Mailtrap **SMTP credentials** in **development** so test emails never reach real customers.

### 16.5 Common SMTP errors

- **Authentication failed** — wrong password or need **app password**  
- **Connection timed out** — host blocks outbound SMTP; ask host to allow **port 587**  
- **From address rejected** — **From** must match an allowed domain/mailbox  

### 16.6 Send test email

After saving SMTP, click **Send test email** (if present), enter your address, confirm receipt.

[Insert Screenshot: Email Settings SMTP]

---

## 17. Cron jobs & scheduled tasks

### 17.1 Why cron is needed

- **Billing reminders** (due / overdue / quotation expiry)  
- **Recurring invoices**  
- **Laravel scheduler** tasks  

### 17.2 What to add

One cron line running **every minute**:

```bash
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
```

Replace `/path-to-your-project` with your **project root** (where `artisan` lives).

### 17.3 cPanel vs VPS

- **cPanel:** Cron Jobs UI — see **INSTALLATION_GUIDE.md**.  
- **VPS:** `crontab -e` as the correct user.  

### 17.4 Verify

After 5–10 minutes, check **Reminder Logs** or server logs. If nothing runs, see **TROUBLESHOOTING.md**.

---

## 18. Settings

### 18.1 Purpose

**Settings** control **branding**, **defaults**, **tax**, **numbering**, and **integrations**.

### 18.2 Company settings

- **Company name**, **logo**, **address**, **phone**, **email**  
- Used on **PDFs**, **emails**, and **customer portal**  

### 18.3 Localization

- **Date format**, **timezone**, **default currency**  

### 18.4 Tax

- **Tax rates** and **groups** (if applicable)  

### 18.5 Invoice / quotation numbering

- **Prefixes**, **next number**, **padding** (e.g. INV-000021)  

### 18.6 Module settings

Defaults for **terms**, **notes**, **validity days** on quotations, etc.

### 18.7 Important notes

- Changing **numbering** mid-year may confuse accountants—plan ahead.  
- **Logo** files should be **PNG/JPG**, reasonable file size for fast PDFs.  

---

## 19. Roles & permissions

### 19.1 Purpose

**Roles** let you give staff **limited access** (e.g. sales can create invoices but not delete accounting).

### 19.2 Key features

- **Roles** (Admin, Sales, Accountant, etc.)  
- **Permissions** per module (view, create, edit, delete)  
- **Reminder-specific** permissions: manage reminders, edit templates, send manual reminders, view logs  

### 19.3 How to use — create staff role

1. Open **Settings** → **Roles & Permissions**.  
2. **Add Role** → name it (e.g. “Sales”).  
3. Tick **permissions** needed.  
4. **Save**.  

### 19.4 Assign to users

1. Open **Users**.  
2. Edit user → choose **Role**.  
3. **Save**.  

### 19.5 Important notes

- **Super admin** bypasses checks—assign sparingly.  
- **Principle of least privilege** reduces fraud and mistakes.  

---

## 20. Addon manager

### 20.1 Purpose

**Addons** extend ProInvoice (e.g. extra modules, integrations). Each addon may have its **own license**.

### 20.2 How to install

1. Obtain **addon ZIP** from the author.  
2. Open **Addon Manager** (if present in your build).  
3. **Upload** / **Install** per instructions.  
4. **Activate**.  
5. Enter **addon license key** if prompted.  

### 20.3 Enable / disable

Use toggles or **Deactivate** to turn addons off without deleting data (behavior may vary).

### 20.4 Important notes

- **Backup** before installing addons.  
- **Version compatibility**—install only addons matched to your **ProInvoice version**.  

---

## 21. License status

### 21.1 Purpose

View **activation status**, **domain**, and **support/expiry** information (if displayed).

### 21.2 How to use

1. Open **License** or **License Status** in Settings/System.  
2. Click **Refresh** / **Validate** if available.  

### 21.3 Troubleshooting

If **invalid**, verify **domain**, **SSL**, and **internet** outbound. See **LICENSE_GUIDE.md**.

---

## 22. System settings

### 22.1 Purpose

Advanced options: **email**, **SMS**, **WhatsApp**, **finance**, **backups**, **maintenance**, **security**.

### 22.2 Typical items

- **Backup** configuration (if integrated)  
- **Maintenance mode** (if available—**warning:** may block customers)  
- **API keys** for messaging providers  
- **Cron** reminders in documentation  

### 22.3 Important notes

- **Maintenance mode** during business hours can block **customer portal**—schedule off-peak.  
- Store **API secrets** only in admin—never in public pages.  

---

## 23. Support & updates

### 23.1 What support usually includes

- **Installation** help on supported hosting  
- **Bug reports** for the product as sold  
- **License** and **activation** assistance  

### 23.2 What support usually does not include

- **Custom feature development** (unless purchased)  
- **Server administration** unrelated to the script  
- **Third-party hosting** policy disputes  
- **Accounting or legal advice**  

### 23.3 How to contact support

Use the **support channel** listed on your **CodeCanyon download** or **author profile** (ticket system, email, or portal).

### 23.4 Information to include in a ticket

1. **Domain name**  
2. **ProInvoice version** (from changelog or admin footer if shown)  
3. **Hosting type** (cPanel / VPS / aaPanel)  
4. **PHP version**  
5. **Exact error message** (copy/paste)  
6. **Screenshots** (blur secrets)  
7. **Steps to reproduce**  

### 23.5 Updates

1. **Back up** database and files.  
2. Read **CHANGELOG.md** and author **update instructions**.  
3. Upload **replacement files** or use author **updater** if provided.  
4. Run any **migration** commands the author documents (`php artisan migrate`).  
5. **Clear caches** if instructed.  

> **Warning:** Never update on **live** without a **backup** and a **maintenance window**.

---

## 24. Appendix: In-app help snippets

Short text blocks you can reuse for **tooltips**, **onboarding cards**, or a **help center**.

### Installation (tooltip)

> “Upload the installable ZIP, point your domain to the `public` folder, create a MySQL database, then open your site to run the installation wizard.”

### License activation (card)

> “Use your CodeCanyon purchase code on our license website to generate your activation key. Paste that key in Installer Stage 3—not always the Envato code itself.”

### SMTP setup (hint)

> “After saving SMTP settings, send a test email. Gmail users need an App Password with 2FA enabled.”

### Cron setup (banner)

> “Add a cron job every minute: `php artisan schedule:run` in your project folder so reminders and recurring invoices run automatically.”

### Invoice creation (wizard step)

> “Pick a customer, set due date, add line items, then save. You can email the invoice or download PDF from the invoice page.”

### Reminders (tooltip)

> “Turn on billing reminders under Settings → Billing Reminders. Use Queue mode for best performance and ensure cron is configured.”

### Web root (warning)

> “For security, your website must point to the `public` directory—not the whole project folder.”

### Password security (toast)

> “Change your default admin password under Profile after first login.”

---

## Related documents

- **[INSTALLATION_GUIDE.md](INSTALLATION_GUIDE.md)**  
- **[LICENSE_GUIDE.md](LICENSE_GUIDE.md)**  
- **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)**  
- **[FAQ.md](FAQ.md)**  
- **[SECURITY.md](SECURITY.md)**  

---

*End of User Manual*
