.pdf` | The PDF of each exported invoice |
**Invoices sheet** — one row per invoice:
| Column group | Columns |
| ------------ | ---------------------------------------------------------------------------------------------- |
| Invoice | Invoice #, Status, Description, Created At |
| Customer | Customer, Customer Email, Customer Phone, Customer Address, Zip Code, Country, Customer Tax ID |
| Dates | Issued Date, Due Date, Paid Date |
| Amounts | Currency, Subtotal, Discount, Tax Rate, Tax Type, Tax Included, Shipping, Total |
| Other | Items (count), Project, Assigned To, PDF File |
**Line Items sheet** — one row per invoice item: Invoice #, Customer, Item, Model, Description, Quantity, Unit Price, Line Total, and Currency.
Dates and amounts are stored as real spreadsheet values, so you can sort, filter, and sum them immediately. The header row is frozen and column filters are enabled.
### File Names [#file-names]
Each export gets a unique name so multiple downloads never overwrite each other:
```
invoices_2026-09-14_1.zip
invoices_2026-09-14_2.zip
invoices_2026-09-14_3.zip
```
The number increases with every export on the same day and restarts the next day.
If an invoice has no generated PDF (or it can't be downloaded), the export still completes. A
notification lists the affected invoice numbers, and their **PDF File** column in the spreadsheet
shows "Not available".
Export is available to all organization members who can view invoices — not only owners.
## Tips for Efficient Search [#tips-for-efficient-search]
Use the search bar for quick lookups by customer or invoice number. Combine multiple filters to
narrow down results when managing large invoice lists.
* Combine multiple filters for precise results
* Use status filters to focus on actionable invoices (e.g., Overdue)
* Save time with date presets for common reports
* Use bulk actions to update multiple invoices at once
* Filter first, then click **Export** to download exactly the invoices you need
* Clear all filters to start fresh
# Invoice Reminders (/docs/invoices/invoice-reminders)
## 1. Overview [#1-overview]
Invoice reminders help you follow up with customers before and after an invoice is due. After reminders are enabled, PineBill schedules email reminders for the invoice and records reminder activity in the invoice email history.
## 2. When Reminders Can Be Used [#2-when-reminders-can-be-used]
You can enable reminders when the invoice:
* Has a due date
* Is not marked as paid
* Is not cancelled
* Has at least one reminder recipient
If the invoice is paid or cancelled later, pending reminders are cancelled automatically.
## 3. Reminder Schedule [#3-reminder-schedule]
PineBill uses a fixed three-step schedule:
| Reminder | When it sends |
| ---------- | -------------------------- |
| Before due | 7 days before the due date |
| Due today | On the due date |
| Overdue | 7 days after the due date |
You choose the send time and timezone. PineBill only schedules reminder dates that are still in the future.
## 4. Enable Invoice Reminders [#4-enable-invoice-reminders]
1. Open **Invoices**.
2. Select the invoice you want to follow up on.
3. Find the **Email Reminders** card on the invoice details page.
4. Turn on the reminder switch.
5. Expand the card if it is not already open.
## 5. Add Recipients [#5-add-recipients]
Add the email addresses that should receive reminder emails.
* The customer email is used as the default recipient when available.
* You can add up to 5 recipients.
* Duplicate email addresses are ignored.
* At least one recipient is required before reminders can be saved.
## 6. Set Send Time and Timezone [#6-set-send-time-and-timezone]
Choose when reminders should be sent:
1. Select the hour.
2. Select the minute.
3. Choose the timezone.
Use the customer's timezone when possible. This keeps reminders from arriving too early or too late in their local day.
## 7. Attach the Invoice PDF [#7-attach-the-invoice-pdf]
Turn on **Attach invoice PDF** if you want each reminder email to include the invoice PDF.
This option is only available when the invoice already has a generated PDF. If the invoice PDF is missing, generate or update the invoice PDF first, then return to the reminder settings.
## 8. Save Reminders [#8-save-reminders]
Click **Save Reminders** after recipients, send time, and timezone are set.
The schedule preview shows each reminder and its current status:
| Status | Meaning |
| ------------- | ------------------------------------------------ |
| Scheduled | The reminder is waiting to be sent |
| Sending | PineBill is currently processing it |
| Sent | The reminder email was sent |
| Skipped | PineBill skipped it because it no longer applies |
| Failed | PineBill could not send it |
| Cancelled | The reminder was cancelled |
| Not scheduled | No active reminder exists for that step |
## 9. Disable Reminders [#9-disable-reminders]
To stop future reminders:
1. Open the invoice.
2. Expand **Email Reminders**.
3. Click **Disable**.
Disabling reminders cancels pending reminders. Reminders that were already sent remain in the email history.
## 10. Track Reminder Emails [#10-track-reminder-emails]
Reminder emails appear in the invoice **Email History** section. Use it to confirm:
* Which reminder was sent
* The recipient email address
* When it was sent
* Whether the invoice link was clicked
## 11. Common Issues [#11-common-issues]
**The reminder switch is disabled**
Add a due date to the invoice. Reminders are also unavailable for paid and cancelled invoices.
**The PDF attachment option is disabled**
The invoice does not have a generated PDF yet. Generate or update the invoice PDF before attaching it to reminders.
**No reminders were scheduled**
All reminder dates may already be in the past. Update the invoice due date or send the customer a manual email instead.
**A reminder was skipped**
This usually means the invoice was paid, cancelled, disabled, missing a due date, or no longer has valid reminder recipients.
## 12. Related Topics [#12-related-topics]
* [Invoice Details Page](/docs/invoices/invoice-details)
* [Invoice Sharing](/docs/invoices/invoice-sharing)
* [Invoice Statuses](/docs/invoices/invoice-statuses)
# Invoice Settings (/docs/invoices/invoice-settings)
## Overview [#overview]
Invoice Settings let you control how invoice numbers are generated and set default content for new invoices. This saves time and ensures consistency across all your invoices.
Only organization owners can edit invoice settings.
## Accessing Invoice Settings [#accessing-invoice-settings]
Open invoice settings from the centralized settings hub:
1. Open **[Settings](/dashboard/setup)**
2. In **Documents**, click **[Invoice Settings](/dashboard/invoice-settings)**
3. Click the **Edit Settings** button (owners only)
***
## Invoice Number Generation [#invoice-number-generation]
Control how invoice numbers are automatically created for each new invoice.
### Generation Strategy [#generation-strategy]
Choose how your invoice numbers will be formatted:
| Strategy | Description | Example | Best For |
| ------------------ | ---------------------------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------- |
| **Sequential** | Creates numbered invoices in order | `INV-2025-0001`, `INV-2025-0002` | Small businesses, simple numbering, easy customer reference |
| **Secure Random** | Generates random alphanumeric codes | `INV-2025-A7K9M2`, `INV-2025-X3F8P1` | Enhanced security, preventing number guessing, high-volume businesses |
| **Timestamp** | Uses date and time | `INV-20250910-X4Y7`, `INV-20250910-P9K2` | Date-based organization, chronological sorting, time tracking |
| **Custom Pattern** | Create your own format using placeholders (advanced) | `{prefix}-{quarter}-{seq:4}` | Complex requirements, multi-department systems, specific compliance needs |
### Prefix [#prefix]
Set the prefix that appears at the start of all invoice numbers.
**Requirements:**
* 3-10 characters
* Examples: `INV`, `BILL`, `ORG`
### Sequence Length [#sequence-length]
Control how many digits appear in sequential numbers.
**Settings:**
* Minimum: 4 digits
* Maximum: 10 digits
* Example: Length 4 = `0001`, Length 6 = `000001`
Use longer sequences if you create many invoices per year.
### Custom Pattern (Advanced) [#custom-pattern-advanced]
Create complex invoice numbers with placeholders.
**Available Invoice Numbering Pattern:**
| Category | Placeholder | Description | Example |
| --------------------- | ----------------- | ------------------------------------- | --------------------- |
| **Organization** | `{prefix}` | Your organization prefix | `INV` |
| | `{org}` | First 3 characters of organization ID | `ABC` |
| **Date & Time** | `{year}` | Current year (4 digits) | `2025` |
| | `{year2}` | Short year (2 digits) | `25` |
| | `{month}` | Month number | `01-12` |
| | `{day}` | Day of month | `01-31` |
| | `{quarter}` | Quarter | `Q1-Q4` |
| | `{week}` | Week number | `01-53` |
| | `{monthName}` | Short month name | `Jan, Feb` |
| | `{monthNameFull}` | Full month name | `January` |
| | `{dayOfWeek}` | Day name | `Mon, Tue` |
| | `{timestamp}` | YYYYMMDD format | `20250101` |
| **Counters & Random** | `{seq:N}` | Sequential number with N digits | `{seq:4}` → `0001` |
| | `{random:N}` | Random string of N characters | `{random:4}` → `X7K9` |
| | `{uuid:N}` | First N characters of UUID | `{uuid:6}` → `A3F8B2` |
| | `{hex:N}` | Random hex string | `{hex:4}` → `9A2F` |
**Examples:**
| Pattern | Result |
| --------------------------------------- | -------------------- |
| `{prefix}-{year}-{seq:4}` | `INV-2025-0001` |
| `{org}-{quarter}-{random:4}` | `ABC-Q1-X7K9` |
| `{monthName}{day}-{uuid:6}` | `Jan15-A3F8B2` |
| `{prefix}-{year2}{month}-{seq:5}` | `INV-2501-00001` |
| `{prefix}-{timestamp}-{hex:4}` | `BILL-20250101-9A2F` |
| `{org}-{year}-{quarter}-{seq:3}` | `ABC-2025-Q1-001` |
| `{prefix}{monthName}{year2}-{random:6}` | `INVJan25-X7K9M2` |
| `{year}{month}{day}-{seq:4}` | `20250115-0001` |
| `{prefix}-W{week}-{year2}-{random:4}` | `INV-W03-25-P9K2` |
| `{dayOfWeek}{monthName}{day}-{uuid:8}` | `MonJan15-A3F8B2C7` |
Changing invoice number settings doesn't affect existing invoices, only new ones.
***
## Default Invoice Content [#default-invoice-content]
Set default values that automatically fill in when creating new invoices.
### Default Terms of Payment [#default-terms-of-payment]
Standard payment terms that appear on all new invoices.
**Examples:**
* "Payment due within 30 days"
* "30% advance, 70% before shipment"
* "Net 15 days from invoice date"
### Default End Message [#default-end-message]
A closing message that appears at the bottom of invoices.
**Examples:**
* "Thank you for your business!"
* "We appreciate your partnership"
* "Please contact us with any questions"
### Default Date Format [#default-date-format]
Choose how dates appear on your invoices.
**Available Formats:**
| Format | Example |
| -------------- | ----------------- |
| Month DD, YYYY | December 01, 2025 |
| DD/MM/YYYY | 01/12/2025 |
| MM/DD/YYYY | 12/01/2025 |
| DD-MM-YYYY | 01-12-2025 |
| YYYY-MM-DD | 2025-12-01 |
### Default Currency Format [#default-currency-format]
Choose how currency values appear on new invoices by default.
| Format | Example |
| ---------------- | --------------------- |
| Symbol | `$1,234.50` |
| Localized symbol | `US$1,234.50` |
| Currency code | `USD 1,234.50` |
| Currency name | `1,234.50 US dollars` |
| Accounting | `($1,234.50)` |
This default is used when opening the invoice generator. You can still change
the currency format per invoice while creating or editing it.
### Default Invoice Template [#default-invoice-template]
Select the visual design for your invoices.
**[Available Templates:](/docs/invoices/invoice-templates)**
| Template | Description | Best For |
| --------------------- | ----------------------------------------- | ---------------------------------------- |
| **Standard** | Balanced default design with clean layout | General business use |
| **Bold Professional** | Strong dark header with emphasis | Corporate clients, professional services |
| **Mono** | Clean, minimal monospace design | Tech companies, SaaS, developers |
| **Startup Modern** | Modern and sleek contemporary style | Startups, creative agencies |
Hover over each template to see a preview image.
### Default Invoice Language [#default-invoice-language]
Set the language for invoice PDF labels and text. This controls the language used for section titles, column headers, and other text on generated invoice PDFs.
**PineBill Supported Languages:**
| Language | Native Name |
| ----------- | --------------- |
| English | English |
| German | Deutsch |
| French | Francais |
| Spanish | Espanol |
| Portuguese | Portugues |
| Italian | Italiano |
| Arabic | العربية |
| Chinese | 中文 |
| Japanese | 日本語 |
| Korean | 한국어 |
| Turkish | Türkçe |
| Azerbaijani | Azərbaycan dili |
The language setting affects PDF labels like "Bill To", "Invoice Date", "Total", etc. Your custom
content (product names, descriptions, messages) remains unchanged.
### Default Custom Fields [#default-custom-fields]
Add extra fields that automatically appear on new invoices.
**What are custom fields?**
Additional information you want to include on every invoice:
* Purchase Order Number
* Project Reference
* Department Code
* Customer ID
* Contract Number
**How to add:**
1. Click **Add Default Custom Field**
2. Enter the **Label** (field name)
3. Enter the **Value** (default content)
4. Click the X to remove unwanted fields
Custom fields can be edited individually when creating each invoice.
***
## Saving Your Settings [#saving-your-settings]
After making changes:
1. Review all your settings
2. Check the invoice number preview
3. Click **Save Invoice Settings**
4. Wait for the success message
Click
**Cancel**
to discard changes and restore previous settings.
***
## Troubleshooting [#troubleshooting]
Only organization owners can edit invoice settings. Contact your organization owner to make changes or request ownership transfer.
Make sure you've selected a generation strategy. The preview updates automatically when you change
prefix, length, or pattern fields.
Check that you're using valid placeholders with correct syntax. Example: `{seq:4}` not `{seq4}`. Refer to the placeholder list in the tooltip.
Ensure all required fields are filled correctly. Check that prefix is 3-10 characters and sequence
length is 4-10 digits. Look for error messages.
Contact support if you see duplicate invoice numbers. This shouldn't happen with any generation
strategy.
Hover over the template option in the dropdown. If the preview doesn't appear, try refreshing your
browser.
Click the X button next to the custom field, then save your settings. Make sure you're in edit mode.
# Invoice Sharing (/docs/invoices/invoice-sharing)
## How To Share Your Invoices [#how-to-share-your-invoices]
Share your invoices with clients, vendors, or team members using secure links or email. You can create multiple share links for each invoice with different settings, or send invoices directly via email with PDF attachments.
## Sending Invoices via Email [#sending-invoices-via-email]
Send your invoices directly to customers via email with professional templates and PDF attachments.
### How to Send an Invoice by Email [#how-to-send-an-invoice-by-email]
1. Open the invoice you want to send
2. Click the **Send via Email** button at the top right
3. Enter the recipient's email address (defaults to customer email)
4. Add a custom message (optional, up to 500 characters)
5. Click **Send Email**
### What Your Customer Receives [#what-your-customer-receives]
When you send an invoice via email, your customer gets:
* **Professional email** with your company name and invoice details
* **PDF attachment** of the complete invoice
* **Secure link** to view the invoice online
* **Your custom message** (if you added one)
* Invoice number, amount, and due date clearly displayed
### Email Tracking [#email-tracking]
Track engagement with your sent invoices:
* See when emails were sent and by whom
* Track how many times the "View Invoice" link was clicked
* View the last time the link was accessed
* Monitor all email activity in the Email History section
### Email History [#email-history]
View the complete email history for each invoice:
1. Open your invoice
2. Scroll to the **Email History** section
3. See all sent emails with details including:
* Recipient email address
* Email type (Invoice Sent, Reminders)
* When it was sent
* Who sent it
* Click tracking statistics
**Email Types:**
* **Invoice Sent** - Initial invoice email
* **Reminder (Before Due)** - Sent before the due date
* **Reminder (Due Today)** - Sent on the due date
* **Overdue Reminder** - Sent after the due date
## Sharing via Secure Links [#sharing-via-secure-links]
Create shareable links for your invoices with customizable security options.
## How to Share an Invoice [#how-to-share-an-invoice]
1. Open the invoice you want to share
2. Click the **Share PDF** button at the top right
3. Choose your security settings
4. Click **Create Share Link**
5. Copy and share the link
## Security Options [#security-options]
### Password Protection [#password-protection]
Add a password to protect your invoice from unauthorized access.
**How to use:**
1. Check the **Password Protection** box
2. Enter a password (at least 4 characters)
3. Click the eye icon to show/hide your password
4. Share the password separately from the link (by phone, text, or separate email)
### Expiration Date [#expiration-date]
Make your share link expire automatically after a certain time.
**Quick options:**
* **1 hour** - For immediate review
* **1 day** - Short-term access
* **1 week** - Standard invoice delivery
If you don't set an expiration, the link will work forever and it will be a public link. You'll
see a yellow warning when creating a permanent link. Once you created a permanent link, you cannot
add expiring links to the same invoice later.
### View Limit [#view-limit]
Limit how many times people can view your invoice.
**When to use:**
* Controlling who can access the invoice
* Tracking how many times it's been viewed
* Preventing unlimited sharing
**How to use:**
1. Check the **Limit Views** box
2. Enter the maximum number of views (1 to 10,000)
3. The link stops working once it reaches this limit
***
## Managing Your Shares [#managing-your-shares]
View and manage all your share links in one place.
### View All Shares [#view-all-shares]
1. Open your invoice
2. Click the **Manage Shares** button at the top right
3. See all your active and inactive shares
### Understanding Share Status [#understanding-share-status]
Each share shows its current status:
* **Active** - Link is working
* **Expired** - Past the expiration date
* **View Limit Reached** - Maximum views used up
* **Revoked** - Manually disabled
You'll also see:
* **Public** badge - No expiration (permanent link)
* **Protected** badge - Password required
### What You Can See [#what-you-can-see]
For each share link:
* Who created it and when
* Expiration date (or "Never")
* How many times it's been viewed
* When it was last viewed
* The share URL (for active links)
### Copy a Share Link [#copy-a-share-link]
1. Find the share you want to copy
2. Click the copy icon next to the URL
3. You'll see a confirmation message
4. Paste and share the link
### Delete a Share Link [#delete-a-share-link]
Organization owners can delete any share link:
1. Click the **Manage Shares** button
2. Find the share you want to delete
3. Click the trash icon
4. Confirm deletion
Once deleted, the link stops working immediately and can't be restored.
## Best Practices for Sharing Invoices [#best-practices-for-sharing-invoices]
### Email Best Practices [#email-best-practices]
1. **Verify email addresses** before sending to avoid delivery issues
2. **Add personal messages** to build customer relationships
3. **Check email history** to confirm delivery and track engagement
4. **Follow up** if the invoice link hasn't been clicked after a few days
5. **Use professional language** in custom messages
### Secure Link Best Practices [#secure-link-best-practices]
1. **Always use passwords** for sensitive invoices
2. **Set expiration dates** to limit exposure
3. **Check view counts** to see who's accessed your invoice
4. **Delete old shares** you're no longer using
5. **Create new links** for different recipients
6. **Send passwords separately** from the share link
### General Tips [#general-tips]
* **Combine both methods** for maximum flexibility
* **Monitor tracking data** to understand customer engagement
* **Keep customer emails updated** in your customer database
* **Use reminders** for overdue invoices to automate follow-ups
## What Recipients See [#what-recipients-see]
When someone clicks your share link:
* They see the full invoice PDF
* They can download it (if enabled)
* They enter the password (if you set one)
* No login required
* Clean, simple view
## Quick Reference [#quick-reference]
### Email Features [#email-features]
| Feature | What it does | Limit |
| -------------- | -------------------------------- | ------------------ |
| Custom Message | Personal message in email | 500 characters |
| PDF Attachment | Invoice PDF attached to email | Included |
| Email Tracking | Track link clicks and engagement | Unlimited tracking |
| Email History | View all sent emails for invoice | Complete history |
### Secure Link Features [#secure-link-features]
| Feature | What it does | Maximum |
| ------------------ | ----------------------------- | -------------------- |
| Password | Requires password to view | 4 characters minimum |
| Expiration | Link stops working after date | 7 days from now |
| View Limit | Maximum number of views | 10,000 views |
| Shares per Invoice | How many links you can create | Unlimited |
## Troubleshooting [#troubleshooting]
**Common causes:**
* Missing customer email address - update customer information
* Invalid email format - check the email address is correct
* Invoice PDF not generated - regenerate the invoice
If the problem persists, check your SMTP configuration.
**Steps to resolve:** 1. Check the Email History to confirm it was sent 2. Ask the customer to
check their spam/junk folder 3. Verify the email address is correct 4. Resend the email or create
a secure link as an alternative
The Email History shows if the "View Invoice" link has been clicked. If not clicked after a few
days: - Follow up with the customer by phone or text - Resend the email - Create a secure link and
share it via other channels
The link passed its expiration date. Create a new share link or resend the invoice via email.
Too many people viewed it. Create a new link with a higher limit or no limit.
The link was deleted or doesn't exist. Ask for a new link or request the invoice be sent via
email.
Make sure you have both the link AND the password. Check that you entered the password correctly (it's case-sensitive).
Only organization owners can delete share links. Emails can be sent by any team member with access
to the invoice.
# Invoice Statuses (/docs/invoices/invoice-statuses)
## Status Overview [#status-overview]
PineBill uses five distinct status codes to track invoice lifecycle:
| Status | Purpose | When to Use | Automatic Behavior |
| ---------------- | ------------------------------ | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| ⚪ **DRAFT** | Invoice is being prepared | Creating new invoice
Making edits before sending
Incomplete invoice data | None |
| 🔵 **SENT** | Invoice sent, awaiting payment | Invoice delivered to customer
Payment expected
Within due date | None |
| 🟢 **PAID** | Payment received and confirmed | Customer payment received in full
Transaction verified | Sets `paidDate` to current timestamp
Clears `paidDate` when changed from PAID |
| 🔴 **OVERDUE** | Payment past due date | Due date has passed
Customer payment is late | Manual update required
No automatic SENT → OVERDUE transition |
| 🟠 **CANCELLED** | Invoice voided | Issued in error
Customer order cancelled
Superseded by corrected version | None |
## Status Transitions [#status-transitions]
Common status workflows:
**Standard flow:**
```
DRAFT → SENT → PAID
```
**Late payment flow:**
```
DRAFT → SENT → OVERDUE → PAID
```
**Cancelled flow:**
```
DRAFT → CANCELLED
SENT → CANCELLED
```
## Manual vs Automatic [#manual-vs-automatic]
**Manual changes required:**
* All status transitions must be manually updated
* No automatic SENT → OVERDUE transition
**Automatic behavior:**
* PAID status sets `paidDate` timestamp
* Changing from PAID clears `paidDate`
## Changing Status [#changing-status]
### Single Invoice [#single-invoice]
You can change the status of a single invoice in two ways:
1. **From the invoice list:** Click on the status badge to open the status selector
2. **From invoice details:** Click the status badge in the invoice details page
### Bulk Status Change [#bulk-status-change]
Update multiple invoices at once:
1. Select invoices using the checkboxes in the invoice list
2. Click **Change Status** in the bulk actions bar
3. Choose the new status
4. Confirm the change
Bulk status change is useful for marking multiple invoices as paid after receiving a batch
payment, or updating sent invoices to overdue status.
## Status in Reports [#status-in-reports]
**Outstanding balance** includes:
* SENT invoices
* OVERDUE invoices
**Dashboard metrics** show:
* Count per status
* Days overdue calculation for OVERDUE invoices
* Overdue identification: `status IN (SENT, OVERDUE) AND dueDate < today`
# Invoice Templates (/docs/invoices/invoice-templates)
## Available Templates [#available-templates]
PineBill offers four professionally designed invoice templates. Select your preferred template when creating an invoice or set a default in [Invoice Settings](/docs/invoices/invoice-settings).
### Standard Template [#standard-template]
Clean, professional design suitable for any business. A balanced default layout that works for all industries.
### Bold Professional Template [#bold-professional-template]
Contemporary design with a strong dark header. Creates visual impact and conveys authority.
### Mono Template [#mono-template]
Clean, minimal design with a monospace aesthetic. Perfect for tech companies and modern businesses.
### Startup Modern Template [#startup-modern-template]
Modern and sleek style designed for startups and creative agencies.
## Comparison [#comparison]
| Feature | Standard | Bold Professional | Mono | Startup Modern |
| ----------------- | ----------- | ----------------- | ---------- | -------------- |
| **Style** | Traditional | Corporate | Minimalist | Contemporary |
| **Best for** | General use | B2B, Enterprise | Tech, SaaS | Startups |
| **Visual Impact** | Subtle | Bold | Clean | Modern |
| **Header** | Light | Dark | Minimal | Sleek |
## Choosing a Template [#choosing-a-template]
Consider your business type and client expectations:
* **Standard**: Safe choice for any business, professional without being flashy
* **Bold Professional**: Great for corporate clients who expect a premium look
* **Mono**: Perfect for tech companies, developers, and SaaS businesses
* **Startup Modern**: Ideal for creative agencies, startups, and modern brands
Set your preferred template as default in [Invoice Settings](/docs/invoices/invoice-settings) to
save time when creating invoices.
# Common Invoice Use Cases (/docs/invoices/invoice-use-cases)
## Use Cases Overview [#use-cases-overview]
Discover how different business types can leverage PineBill's invoice management features effectively.
| Business Type | Scenario | Invoice Mode | Setup & Configuration | Key Features |
| ------------------------- | ------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Freelance Consultant** | Hourly billing for consulting services | Hourly Mode | Different service types (Consulting, Strategy, Implementation)
Different hourly rates per service type
Time tracking in descriptions | Multiple hourly rates
Time-based billing
Example: 8 hrs × $150/hr + 2 hrs × $200/hr = $1,600 |
| **E-commerce Business** | Invoicing for product sales | Product Mode | Detailed product catalog with SKUs
Product photos
Shipping costs
Tax rates | SKU tracking
Shipping fees
Tax calculation
Example: 5 items × $25 + 10 items × $15 + tax + shipping = $317.50 |
| **Agency** | Project-based billing with team assignments | Product Mode | Employee database
Invoice assignment to account managers
Custom fields for project IDs
Detailed scope descriptions | Team collaboration
Project tracking
Discount support
Example: $5,000 + $1,500 + $800 - 10% discount = $6,570 |
| **Professional Services** | Mixed billing (hourly + fixed-fee) | Hourly Mode | Time-based work tracking
Temporary items for fixed fees
Detailed time entries
Professional payment terms (Net 30/60) | Hybrid billing
Professional terms
Time precision
Example: 4.5 hrs × $300/hr + 2 hrs × $250/hr + $150 fee = $2,000 |
| **Retail/Wholesale** | Bulk product orders with quantity discounts | Product Mode | Wholesale price catalog
Quantity-based discounts
Delivery dates | Bulk pricing
Volume discounts
Example: 100 × $12.50 + 50 × $8 - 5% discount + shipping = $1,617.50 |
# Adding New Products (/docs/products/adding-products)
## Quick Start [#quick-start]
Navigate to the **[Products](/dashboard/products)** page and click the **Create Product** button to add new products to your catalog. Products can be reused across multiple invoices.
***
## Product Types [#product-types]
PineBill supports two types of products:
| Type | Description | Persistence | Use Case |
| ---------------------- | ---------------------------------------------------------------- | ------------ | ----------------------------------- |
| **Regular Products** | Saved to your catalog and reusable across multiple invoices | Permanent | Recurring items, standard offerings |
| **Temporary Products** | Created on-the-fly during invoice creation, not saved to catalog | Invoice-only | One-time items, custom services |
This guide covers **Regular Products**. For temporary products, see [Creating Invoices - Temporary Products](/docs/invoices/creating-invoices#temporary-products).
***
## Product Fields [#product-fields]
| Field | Required | Description | Max Length | Notes |
| ----------- | -------- | ------------------------------------------ | ---------- | ---------------------------------------------- |
| Name | Yes | Product or service name | 100 chars | Displayed on invoices and in product lists |
| Model | No | Model number, SKU, or variant identifier | 100 chars | Helps differentiate similar products |
| Price | Yes | Unit price in your default currency | - | Must be a positive number |
| Description | No | Detailed product information | 500 chars | Shown in product lists and search results |
| Category | No | Product category for organization | - | Select from existing or create new category |
| Photo | No | Product image | - | Supports JPG, PNG, WEBP formats. Max 5MB |
| Active | Yes | Whether product is available for selection | - | Inactive products hidden from invoice creation |
***
## Creating a Product [#creating-a-product]
### Step 1: Open Product Dialog [#step-1-open-product-dialog]
1. Navigate to **[Products](/dashboard/products)**
2. Click **Create Product** button (top-right)
3. The product creation dialog will open
### Step 2: Fill Product Details [#step-2-fill-product-details]
**Required Fields:**
```
Product Name: Premium Laptop *
Price: 1299.99 *
```
**Optional Fields:**
```
Model: XPS-15-2024
Description: 15.6" display, 16GB RAM, 512GB SSD, Intel i7
Category: Electronics
Photo: [Upload image]
✓ Active Product
```
### Step 3: Upload Photo (Optional) [#step-3-upload-photo-optional]
Products with photos are easier to identify and look more professional:
1. Click the **Upload Photo** button or drag-and-drop area
2. Select an image file (JPG, PNG, or WEBP)
3. Maximum file size: 2MB
4. Image will be automatically uploaded to cloud storage
5. Preview appears in the form
**Photo Tips:**
* Use square images (1:1 ratio) for best display
* Recommended size: 500x500px minimum
* Clear product images work best
* Photos appear in product lists and the inline product search dropdown
### Step 4: Assign Category (Optional) [#step-4-assign-category-optional]
Organize products by assigning a category:
1. Click the **Category** dropdown
2. Select an existing category
3. Or click **Create New Category** to add one
4. Categories help filter and organize your product list
See [Product Categories](/docs/products/product-categories) for more details.
### Step 5: Set Active Status [#step-5-set-active-status]
The **Active Product** checkbox controls visibility:
* **Checked** (default): Product appears in search results and product selector
* **Unchecked**: Product hidden from search and selection but remains in catalog
***
## Temporary Products [#temporary-products]
Temporary products are created during invoice generation and are NOT saved to your catalog.
### When to Use Temporary Products [#when-to-use-temporary-products]
* One-time services or custom work
* Client-specific items that won't be reused
* Quick invoices without adding to catalog
### Creating Temporary Products [#creating-temporary-products]
1. During invoice or estimate creation, go to the **Products** tab
2. In the **inline product row** at the bottom of the table, type a product name that doesn't match any catalog product
3. Fill in the remaining fields in the same row:
* Model/SKU (optional)
* Quantity (defaults to 1)
* Price
4. Press **Enter** or click outside the row to add it
5. The product is added to the invoice but not saved to your catalog
You can also edit the name, model, quantity, and price of temporary products after adding them by
clicking directly on the value in the table.
**Temporary vs Regular:**
| Feature | Regular Product | Temporary Product |
| ------------------- | --------------- | ----------------------- |
| Saved to catalog | ✓ Yes | ✗ No |
| Reusable | ✓ Yes | ✗ No (one invoice only) |
| Has photo | ✓ Optional | ✗ Not supported |
| Has category | ✓ Optional | ✗ Not supported |
| Can be edited later | ✓ Yes | ✗ No |
***
## Common Errors [#common-errors]
**Problem**: You're creating a product with a name that already exists in your catalog.
**Solution**: Product names don't need to be unique - you can proceed. Consider adding a model number to differentiate similar products.
**Problem**: Price cannot be zero or negative.
**Solution**: Enter a valid number with up to 2 decimal places. All products must have a price greater than 0.
**Problem**: Image upload was unsuccessful.
**Solution**: Check the following:
* File size must be under 5MB
* Only JPG, PNG, or WEBP formats are supported
* Ensure you have a stable internet connection
* Try a different image file
**Problem**: The product is currently used in existing invoices.
**Solution**: Products used in invoices cannot be deleted to maintain data integrity. Instead, set the product to inactive to hide it from future invoice creation.
***
## Related Topics [#related-topics]
* [Product Categories](/docs/products/product-categories) - Organize products with categories
* [Product Properties](/docs/products/product-properties) - Add custom attributes to products
* [Creating Invoices](/docs/invoices/creating-invoices) - Add products to invoices
# Bulk Import Products (/docs/products/bulk-import)
## Overview [#overview]
You can import up to **5,000 products** at once by uploading a CSV file. The import wizard walks you through four steps: upload, column mapping, preview, and results.
***
## Starting an Import [#starting-an-import]
Navigate to **[Products](/dashboard/products)** and click the **Import** button next to the Create Product button.
***
## Step 1: Upload CSV [#step-1-upload-csv]
Upload your CSV file or download a template to get started.
* Click **Download Template** to get a pre-formatted CSV with the correct headers
* Drag and drop your CSV file or click to browse
* The file must be a valid `.csv` file with headers in the first row
* Maximum **5,000 rows** per import
### CSV Template [#csv-template]
The template includes these columns:
| Column | Required | Example |
| ----------- | ------------------------------------- | ---------------- |
| Name | Yes\* | Widget Pro |
| Model | No | WP-100 |
| Price | Yes\* | 29.99 |
| Description | No | A premium widget |
| Active | No | true |
**Sample CSV:**
```csv
Name,Model,Price,Description,Active
Widget Pro,WP-100,29.99,A premium widget,true
Basic Widget,BW-200,9.99,Standard widget,true
Custom Service,,150.00,Hourly consulting,false
```
***
## Step 2: Map Columns [#step-2-map-columns]
Map your CSV columns to product fields. The wizard auto-detects common column names (e.g., "product name", "sku", "unit price"), but you can adjust the mapping manually.
* Required fields (**Name**, **Price**) must be mapped before proceeding
* Unmapped optional fields will be skipped
* Click **Reset** to restore auto-detected mappings
***
## Step 3: Preview [#step-3-preview]
Review parsed data before importing. The preview shows:
* Total rows parsed
* Valid rows (will be imported)
* Invalid rows with specific error details per field
Only valid rows are imported. Fix any issues in your CSV and re-upload if needed.
***
## Step 4: Results [#step-4-results]
After clicking **Import**, the wizard processes your data in batches of 100 rows and shows a progress indicator. Once complete, you'll see:
* Number of products created
* Number of rows skipped (duplicates or errors)
* Specific error messages for failed rows
***
## Field Details [#field-details]
### Active Column [#active-column]
The **Active** column accepts multiple formats:
| Value | Interpreted As |
| ----------------------------------- | ---------------- |
| `true`, `1`, `yes`, `y`, `active` | Active |
| `false`, `0`, `no`, `n`, `inactive` | Inactive |
| Empty or missing | Active (default) |
### Price Column [#price-column]
Prices are parsed as numbers. Currency symbols and commas are stripped automatically (e.g., `$1,299.99` becomes `1299.99`). Must be a positive number.
***
## Related Topics [#related-topics]
* [Adding Products](/docs/products/adding-products) - Add products one by one
* [Product Categories](/docs/products/product-categories) - Organize imported products
* [Bulk Import Customers](/docs/customers/bulk-import) - Import customers via CSV
# Product Categories (/docs/products/product-categories)
## Quick Start [#quick-start]
Product categories help you organize your products into logical groups. The main management entry point is **[Settings](/dashboard/setup)** → **Product** → **[Product Categories](/dashboard/categories)**. You can also create categories on-the-fly when adding products.
***
## Category Fields [#category-fields]
| Field | Required | Description | Max Length | Notes |
| ----------- | -------- | -------------------------------------------- | ---------- | ---------------------------------------------------------------- |
| Name | Yes | Category name displayed in lists and filters | 50 chars | Must be unique within your organization |
| Description | No | Additional information about the category | 200 chars | For internal reference only |
| Color | No | Hex color code for visual identification | - | Defaults to `#000000`. Must be valid hex format (e.g. `#FF5733`) |
| Active | Yes | Whether category is available for use | - | Inactive categories hidden from product selection |
***
## Creating Categories [#creating-categories]
### Method 1: From Settings [#method-1-from-settings]
1. Open **[Settings](/dashboard/setup)**
2. In **Product**, click **[Product Categories](/dashboard/categories)**
3. Click **Create Category**
4. Fill in category details
5. Click **Create Category** to save
### Method 2: During Product Creation [#method-2-during-product-creation]
1. Open the product creation dialog
2. In the Category field, click "Create New"
3. Fill in the quick category form
4. Category is created and automatically selected for your product
***
## Managing Categories [#managing-categories]
### Viewing Categories [#viewing-categories]
Categories appear in:
* Product list filters (dropdown at top of products page)
* Product creation/edit forms (category selector)
* Product table rows (colored badge next to product name)
### Editing Categories [#editing-categories]
1. Open **[Settings](/dashboard/setup)**
2. Go to **[Product Categories](/dashboard/categories)**
3. Find the category in the list
4. Click the edit icon
5. Update category details
6. Click **Save Changes**
**Editable fields:**
* Name
* Description
* Color
* Active status
### Deactivating Categories [#deactivating-categories]
Deactivating a category:
* Hides it from product selection dropdowns
* Does NOT remove it from existing products
* Products with inactive categories still display the category badge
* Can be reactivated anytime
To deactivate:
1. Edit the category
2. Uncheck "Active Category"
3. Save changes
### Deleting Categories [#deleting-categories]
Categories can only be deleted if:
* No products are currently assigned to the category
* The category is not used in any invoices
To delete:
1. Remove the category from all assigned products first
2. Open **[Product Categories](/dashboard/categories)**
3. Click delete icon
4. Confirm deletion
***
## Related Topics [#related-topics]
* [Adding Products](/docs/products/adding-products) - Create new products with categories
* [Product Properties](/docs/products/product-properties) - Add custom attributes to products
* [Creating Invoices](/docs/invoices/creating-invoices) - Add products to invoices
# Product Properties (/docs/products/product-properties)
## Quick Start [#quick-start]
Product Properties allow you to define custom attributes for your products beyond the standard fields. Open them from **[Settings](/dashboard/setup)** → **Product** → **[Product Properties](/dashboard/properties)** to create definitions that can be assigned to any product in your catalog.
***
## What Are Product Properties? [#what-are-product-properties]
Product properties are organization-defined custom fields that extend product information. For example:
* **Weight** (number with unit "kg")
* **Color** (select from predefined options)
* **Material** (text field)
* **Warranty Expiry** (date)
* **In Stock** (boolean yes/no)
Properties help you:
* Track product specifications consistently
* Filter products by custom attributes
* Include detailed product information on invoices
* Standardize product data across your organization
***
## Property Types [#property-types]
PineBill supports five property types to accommodate different data needs:
| Type | Description | Input Control | Example Use Case |
| ----------- | --------------------------------- | ------------- | --------------------------------- |
| **String** | Free-form text input | Text field | Material, Brand, SKU |
| **Number** | Numeric values with optional unit | Number input | Weight (kg), Length (cm) |
| **Boolean** | Yes/No toggle | Switch | In Stock, Fragile, Featured |
| **Select** | Choose from predefined options | Dropdown | Color, Size, Condition |
| **Date** | Date picker for temporal data | Date picker | Warranty Expiry, Manufacture Date |
***
## Property Definition Fields [#property-definition-fields]
| Field | Required | Description | Notes |
| ---------- | ----------- | -------------------------------------------- | --------------------------------------------- |
| Name | Yes | Display name shown in forms and lists | Max 50 characters |
| Key | Yes | Unique identifier (auto-generated from name) | Lowercase kebab-case (e.g., `my-property`) |
| Type | Yes | Data type for the property value | STRING, NUMBER, BOOLEAN, SELECT, or DATE |
| Unit | No | Unit of measurement for NUMBER type | Max 20 characters (e.g., kg, cm, lbs) |
| Options | Conditional | Predefined choices for SELECT type | Required for SELECT type (at least 1 option) |
| Required | No | Whether products must have this property set | Default: false |
| Sort Order | No | Order in which property appears in forms | Default: 0 (lower numbers appear first) |
| Active | Yes | Whether property is available for use | Inactive properties hidden from product forms |
***
## Creating Property Definitions [#creating-property-definitions]
### Step 1: Navigate to Properties Page [#step-1-navigate-to-properties-page]
1. Open **[Settings](/dashboard/setup)**
2. In **Product**, click **[Product Properties](/dashboard/properties)**
3. Click the **New Property** button (top-right)
4. The property creation dialog will open
### Step 2: Configure the Property [#step-2-configure-the-property]
**Basic Configuration:**
```
Property Name: Weight *
Property Key: weight (auto-generated)
Type: Number *
```
**Type-Specific Configuration:**
For **Number** type:
```
Unit: kg
```
For **Select** type:
```
Options: Red, Blue, Green, Black, White
```
**Additional Options:**
```
☐ Required Property (products must have this value set)
Sort Order: 0
```
### Step 3: Save the Property [#step-3-save-the-property]
Click **Create Property** to save. The property will immediately be available for assignment to products.
***
## Managing Property Definitions [#managing-property-definitions]
### Viewing Properties [#viewing-properties]
The Property Definitions table shows:
* Property name and key
* Data type with icon indicator
* Unit (for NUMBER type)
* Options count (for SELECT type)
* Required status
* Active status
* Number of products using this property
### Editing Properties [#editing-properties]
1. Click the edit icon on any property row
2. Modify the property details
3. Click **Save Changes**
**Important:** Changing the type of a property that is already assigned to products may cause data inconsistencies. It's recommended to create a new property instead.
### Toggling Active Status [#toggling-active-status]
* Click the toggle switch in the Active column
* Inactive properties are hidden from product forms
* Existing property values on products are preserved
* Can be reactivated anytime
### Deleting Properties [#deleting-properties]
Properties can only be deleted if:
* No products currently have values for this property
To delete:
1. Remove the property value from all products first
2. Click the delete icon on the property row
3. Confirm deletion
***
## Assigning Properties to Products [#assigning-properties-to-products]
### From Product Details Page [#from-product-details-page]
1. Navigate to a product's detail page or [Product List](/dashboard/products)
2. Find the **Properties** section
3. Click **Edit Properties**
4. Fill in values for each property definition
5. Click **Save Properties**
### Property Input Types [#property-input-types]
Based on the property definition type, you'll see different input controls:
* **String**: Text input field
* **Number**: Number input with unit suffix displayed
* **Boolean**: Toggle switch (Yes/No)
* **Select**: Dropdown with predefined options
* **Date**: Date picker calendar
### Required Properties [#required-properties]
Properties marked as required will show:
* An asterisk (\*) next to the label
* Validation error if left empty when saving
***
## Filtering Products by Properties [#filtering-products-by-properties]
Product Properties integrate with the product filtering system, allowing you to find products based on their custom attributes.
### Available Filters by Type [#available-filters-by-type]
| Type | Filter Options |
| ----------- | ----------------------------------- |
| **String** | Contains text search |
| **Number** | Min/Max range filter |
| **Boolean** | Yes, No, or Any |
| **Select** | Multi-select from available options |
| **Date** | Date range (from/to) |
### Using Property Filters [#using-property-filters]
1. Go to the **[Products](/dashboard/products)** page
2. Expand the **Property Filters** section in the filter panel
3. Set filters for the properties you want to search by
4. Products matching all criteria will be displayed
Property filters work in combination with other product filters (category, status, search).
***
## Common Errors [#common-errors]
**Problem**: You're creating a property with a key that already exists.
**Solution**: Property keys must be unique within your organization. Either:
* Use a different name (key is auto-generated)
* Manually modify the key field to something unique
**Problem**: The property has values assigned to one or more products.
**Solution**: Remove the property value from all products first, then delete the definition. Alternatively, deactivate the property to hide it from forms while preserving existing data.
**Problem**: You're creating a SELECT property without providing options.
**Solution**: Add at least one option value. Click the "Add Option" button and enter the available choices for this property.
**Problem**: The property key contains invalid characters.
**Solution**: Keys must use lowercase letters, numbers, and hyphens only (e.g., `my-property`, `weight-kg`). The key is auto-generated from the name, but you can edit it manually.
***
## Related Topics [#related-topics]
* [Adding Products](/docs/products/adding-products) - Create products with custom properties
* [Product Categories](/docs/products/product-categories) - Organize products with categories
* [Creating Invoices](/docs/invoices/creating-invoices) - Add products to invoices
# Creating Projects (/docs/projects/creating-projects)
## Quick Start [#quick-start]
Go to **[Dashboard](/dashboard)** -> **[Projects](/dashboard/projects)** and click **New Project**.
***
## Project Fields [#project-fields]
| Field | Required | Notes |
| --------------- | -------- | ---------------------------------------------------- |
| **Name** | Yes | Project name, up to 160 characters |
| **Description** | No | Brief summary of the project, up to 1,000 characters |
| **Status** | No | Active (default), Pending, or Completed |
| **Customer** | No | Link the project to a customer |
| **Budget** | No | Total project budget, must be zero or greater |
| **Currency** | No | Budget currency, defaults to USD |
| **Start Date** | No | When the project begins, defaults to today |
| **End Date** | No | Target completion date |
| **Assigned To** | No | Team member responsible for the project |
***
## Step-by-Step Guide [#step-by-step-guide]
### 1. Open the Project Form [#1-open-the-project-form]
1. Go to **[Projects](/dashboard/projects)**
2. Click **New Project**
3. Enter a project name
### 2. Add Optional Details [#2-add-optional-details]
Open **More Details** to add:
* Description
* Status
* Customer
* Budget and currency
* Start and end dates
* Assigned team member
### 3. Save [#3-save]
Click **Create Project**. The project appears in your project list and is ready for tasks, invoices, and other documents.
***
## Editing a Project [#editing-a-project]
Open a project and click the **Edit** button, or use the actions menu on the project list. All fields can be updated after creation.
***
## After Creating [#after-creating]
Once a project is saved, you can:
* Add tasks and track time from the Tasks tab
* Link invoices, estimates, and expenses
* Generate a share link for client visibility
* Update the status as work progresses
***
## Related Topics [#related-topics]
* [Project Management](/docs/projects) - Overview of project features
* [Project Sharing](/docs/projects/project-sharing) - Share project progress with clients
* [Task Management](/docs/tasks) - Create tasks inside projects
* [Customers](/docs/customers/adding-customers) - Add customers before linking to projects
# Project Management (/docs/projects)
## Quick Start [#quick-start]
Use Projects to group tasks, invoices, estimates, and expenses under one workspace. Each project tracks budget, timeline, and assigned team members.
Go to **[Dashboard](/dashboard)** -> **[Projects](/dashboard/projects)**.
***
## Key Features [#key-features]
***
## Project List [#project-list]
The Projects page shows all projects in your organization.
Each project row displays:
* Project name and description
* Status badge (Active, Pending, or Completed)
* Assigned customer
* Assigned team member
* Budget and currency
* Start and end dates
* Created date
***
## Project Statuses [#project-statuses]
| Status | Meaning |
| ------------- | -------------------------------------- |
| **Active** | Work is currently in progress |
| **Pending** | Project is planned but not yet started |
| **Completed** | All work is finished |
***
## Searching, Filtering, and Sorting [#searching-filtering-and-sorting]
Use the controls above the project list to narrow results.
| Control | What it does |
| -------------- | ------------------------------------------------------------------- |
| **Search** | Searches project name and description |
| **Status** | Filters by Active, Pending, or Completed |
| **Sort by** | Sort by created date, name, status, start date, end date, or budget |
| **Sort order** | Ascending or descending |
Active filters appear as badges. Click **Clear filters** to reset.
***
## Project Detail Page [#project-detail-page]
Click any project to open the detail page. The project header shows the name, status, customer, budget, dates, and assigned team member.
Below the header are five tabs:
### Tasks Tab [#tasks-tab]
Displays all tasks belonging to the project. You can switch between a **Kanban board** (drag-and-drop columns) and a **table list** view. Create new tasks directly from this tab.
### Invoices Tab [#invoices-tab]
Lists invoices linked to the project. You can link existing invoices or navigate to linked invoice details.
### Estimates Tab [#estimates-tab]
Lists estimates linked to the project. You can link existing estimates or view linked estimate details.
### Expenses Tab [#expenses-tab]
Lists expenses linked to the project. You can add new expenses directly from this tab or link existing ones.
### Shares Tab [#shares-tab]
Manage share links for the project. Create new share links with optional expiration, view limits, and password protection. See [Project Sharing](/docs/projects/project-sharing) for details.
***
## Linking Documents to a Project [#linking-documents-to-a-project]
From the project detail page, you can link invoices, estimates, and expenses to keep all project-related documents in one place.
* **Link**: Use the link button on the Invoices, Estimates, or Expenses tab to associate an existing document
* **Unlink**: Use the actions menu on any linked document to remove the association
Linking does not move or copy the document. It creates a reference so you can see all related documents from the project.
***
## Deleting Projects [#deleting-projects]
You can delete a project from the actions menu on the project list or from the project detail page.
To delete multiple projects at once, select them using the checkboxes and click **Delete Selected**. You can bulk delete up to 100 projects at a time.
Deleting a project also removes all tasks within it. Linked invoices, estimates, and expenses are unlinked but not deleted.
***
## Permissions [#permissions]
| Role | Can view | Can create | Can edit | Can delete |
| --------------- | -------- | ---------- | ------------ | ---------- |
| **Owner/Admin** | Yes | Yes | Any project | Yes |
| **Member** | Yes | Yes | Own projects | No |
***
## Common Questions [#common-questions]
All tasks inside the project are permanently deleted along with their timer history and file attachments. This cannot be undone.
Yes. Edit the task and change the project field to move it to a different project, or clear the
field to make it a standalone task.
Linked invoices, estimates, and expenses are unlinked from the project but not deleted. They
remain accessible from their own pages.
Project limits depend on your subscription plan. You will see a message if you reach your plan's project limit.
***
## Related Topics [#related-topics]
* [Creating Projects](/docs/projects/creating-projects) - Set up a new project
* [Project Sharing](/docs/projects/project-sharing) - Share project progress with clients
* [Task Management](/docs/tasks) - Create and manage tasks
* [Time Tracking](/docs/tasks/time-tracking) - Track time spent on tasks
* [Converting Tasks to Invoices](/docs/tasks/task-to-invoice) - Bill clients for task hours
# Project Sharing (/docs/projects/project-sharing)
## Quick Start [#quick-start]
Open a project and go to the **Shares** tab to create a share link.
***
## Creating a Share Link [#creating-a-share-link]
1. Open the project detail page
2. Go to the **Shares** tab
3. Optionally set a password for extra security
4. Click **Create Share Link**
5. Copy the generated URL and send it to your client
***
## Share Options [#share-options]
| Option | Description |
| -------------- | ------------------------------------------------------------ |
| **Password** | Require a password before the recipient can view the project |
| **Expiration** | Set a date after which the link stops working |
| **Max Views** | Limit how many times the link can be opened |
All options are optional. Without any restrictions, the link stays active until you revoke it.
***
## What Shared Viewers See [#what-shared-viewers-see]
Recipients who open the share link can view:
* Project name, description, and status
* Budget and currency
* Start and end dates
* Customer name
* Tasks with their status and time spent
Viewers cannot edit the project, start timers, or access any other part of your account.
***
## Revoking a Share Link [#revoking-a-share-link]
To disable an active share link:
1. Open the project detail page
2. Go to the **Shares** tab
3. Click **Revoke** on the active share link
Once revoked, anyone with the link will see an error page. You can create a new share link at any time.
***
## Security [#security]
* **Password protection**: If a password is set, the viewer must enter it before seeing the project. After **10 failed password attempts**, the share is locked for 1 hour.
* **View tracking**: PineBill records when the link was last viewed and how many times it has been opened.
* **Expiration**: Links with an expiration date automatically stop working after that date.
***
## Common Questions [#common-questions]
No. To change share settings, revoke the current link and create a new one with the desired options.
Only one share link can be active per project at a time. Revoke the existing link before creating a new one.
***
## Related Topics [#related-topics]
* [Project Management](/docs/projects) - Overview of project features
* [Invoice Sharing](/docs/invoices/invoice-sharing) - Share invoices with clients
# Creating Recurring Invoices (/docs/recurring-invoices/creating-recurring-invoices)
## Quick Start [#quick-start]
Navigate to **Recurring Invoices → Create** from the sidebar, or click "New Recurring Invoice" from the recurring invoices list page.
The generator has a tabbed form on the left and a live summary sidebar on the right. Fill out the five tabs to configure your recurring invoice.
***
## Tab 1: Schedule [#tab-1-schedule]
The Schedule tab defines when and how often invoices are generated.
### Name [#name]
Give your recurring invoice a descriptive name (e.g., "Monthly hosting for Acme Corp"). This label appears in the list view and notifications.
### Frequency [#frequency]
Select how often invoices should be generated:
| Frequency | Description | Anchor Type |
| ------------- | ------------------ | -------------------------------- |
| **Weekly** | Every week | Day of week (Sun–Sat) |
| **Biweekly** | Every two weeks | Day of week (Sun–Sat) |
| **Monthly** | Every month | Day of month (1–31, or last day) |
| **Quarterly** | Every three months | Day of month (1–31, or last day) |
| **Yearly** | Once a year | Day of month (1–31, or last day) |
### Anchor Days [#anchor-days]
After selecting a frequency, choose which days invoices should be generated:
* **Weekly / Biweekly**: Select one or more days of the week (Sunday through Saturday). An invoice is generated for each selected day per cycle.
* **Monthly / Quarterly / Yearly**: Select one or more days of the month (1–31). Use the **L** button to select the last day of the month. An invoice is generated for each selected day per cycle.
You can select multiple anchor days. For example, selecting the 1st and 15th for a monthly
schedule generates two invoices per month.
### Time [#time]
Set the hour (00–23) and minute (00, 15, 30, or 45) when invoices should be generated.
**Default**: 09:00
### Timezone [#timezone]
Select the timezone for the schedule. When a customer is selected on the Customer tab, the timezone auto-populates from the customer's timezone setting.
**Default**: Your organization's timezone (falls back to UTC).
Make sure the timezone is set correctly — it determines the exact time invoices are generated. An
incorrect timezone can cause invoices to be created hours earlier or later than expected.
### Schedule Preview [#schedule-preview]
As you configure the schedule, the summary sidebar shows a human-readable preview (e.g., "1st and 15th of Every Month at 09:00") along with the next 6 scheduled run dates. This helps you verify that the schedule matches your intentions before creating the recurring invoice.
### Duration [#duration]
Control how long the recurring invoice runs:
| End Type | Description |
| ------------ | ------------------------------------------------------- |
| **Never** | Runs indefinitely until manually paused or cancelled |
| **End Date** | Stops after a specific date |
| **Count** | Stops after generating a set number of invoices (1–999) |
* **Start Date**: When the schedule begins (defaults to today).
* **Due Date Days**: Number of days after the issue date for the payment due date (e.g., 30 for Net 30).
### Email Notifications [#email-notifications]
* **Auto-send**: Toggle whether generated invoices are automatically emailed to recipients. Enabled by default.
* **Recipient Emails**: Add one or more email addresses. When a customer is selected, their email is pre-populated.
***
## Tab 2: Products [#tab-2-products]
Add the line items that will appear on each generated invoice.
* **Type to Search**: Start typing a product name in the inline row at the bottom of the table. An autocomplete dropdown appears with matching products from your catalog. Recent products appear automatically when you click the field.
* **Select from Catalog**: Click a product in the dropdown to instantly add it with its saved details.
* **Create Inline Temporary Item**: Type a new product name, fill in model, quantity, and price in the same row, then press **Enter** or click outside to add it. Temporary items are not saved to your catalog.
* **Browse All Products**: Click "Browse All Products" at the bottom of the autocomplete dropdown to open the full product selector with filters and multi-select.
* **Drag to Reorder**: Rearrange items by dragging.
* **Inline Editing**: Click to edit quantity and price directly. For temporary items, name and model are also editable.
### Tax & Discount [#tax--discount]
Configure these in the Products tab:
| Setting | Description |
| ----------------- | ---------------------------------------------- |
| **Shipping Cost** | Fixed shipping amount added to each invoice |
| **Discount** | Fixed discount amount subtracted from subtotal |
| **Tax Rate** | Tax percentage or fixed amount |
| **Tax Type** | Percentage (%) or Fixed amount |
| **Tax Included** | Toggle whether item prices already include tax |
***
## Tab 3: Customer [#tab-3-customer]
Select the customer who will receive the recurring invoices.
Click "Select Customer" to browse or search your customer list. Selecting a customer automatically:
* Sets the schedule timezone to the customer's timezone
* Pre-populates the recipient email list with the customer's email
***
## Tab 4: Payment [#tab-4-payment]
Select one or more payment methods to include on each generated invoice.
Click "Select Payment Methods" to choose from your saved payment methods (bank transfer, PayPal, cryptocurrency, or custom).
***
## Tab 5: Settings [#tab-5-settings]
Configure invoice appearance and content defaults.
### Invoice Settings [#invoice-settings]
| Setting | Description | Default |
| ------------------- | --------------------------------- | -------------------- |
| **Currency** | Currency for all invoice amounts | Organization default |
| **Currency Format** | How currency values are displayed | Invoice settings |
| **Template** | PDF template style | Organization default |
| **Language** | Invoice label language | English |
| **Date Format** | How dates appear on the invoice | Month DD, YYYY |
### Invoice Content [#invoice-content]
* **Terms of Payment**: Payment conditions text (e.g., "Net 30", "Due on receipt").
* **End Message**: A note or thank-you message at the bottom of each invoice.
* **Custom Fields**: Add label/value pairs for additional information (e.g., PO Number, Project ID).
### Assigned Employee [#assigned-employee]
Optionally assign the recurring invoice to an employee. This links all generated invoices to that employee for performance tracking and reporting.
***
## Summary Sidebar [#summary-sidebar]
As you fill out the form, the summary sidebar shows a live preview of your configuration:
* Customer and product count
* Calculated totals (subtotal, discount, tax, shipping, total)
* **Schedule Preview**: A human-readable summary of the frequency (e.g., "1st of Every Month at 09:00") with the next 6 scheduled dates
***
## Creating the Invoice [#creating-the-invoice]
Once all required fields are filled (name, frequency, at least one anchor day, customer, and at least one product), click **Create Recurring Invoice**.
The recurring invoice is created with **Active** status and will generate its first invoice at the next scheduled time.
***
## Related Topics [#related-topics]
* [Managing Recurring Invoices](/docs/recurring-invoices/managing-recurring-invoices) — View, filter, pause, and monitor
* [Invoice Templates](/docs/invoices/invoice-templates) — Template styles for generated invoices
* [Invoice Settings](/docs/invoices/invoice-settings) — Configure default invoice settings
# Introduction (/docs/recurring-invoices)
## Overview [#overview]
Recurring invoices let you automate repetitive billing. Define a schedule, assign a customer and products, and PineBill generates and optionally emails invoices on your behalf — weekly, monthly, quarterly, or at any frequency you choose.
## Key Features [#key-features]
| Feature | Description |
| ----------------------- | ------------------------------------------------------------------------ |
| **Flexible Scheduling** | Weekly, biweekly, monthly, quarterly, or yearly with multi-day anchors |
| **Auto-Send Email** | Automatically email generated invoices to one or more recipients |
| **Run History** | Full audit trail of every generated invoice with status and timing |
| **Pause & Resume** | Temporarily halt a schedule without losing configuration |
| **Duration Controls** | Run indefinitely, until a specific date, or for a set number of invoices |
| **Employee Assignment** | Link recurring invoices to employees for performance tracking |
## Lifecycle [#lifecycle]
Recurring invoices follow a simple status lifecycle:
```
ACTIVE → PAUSED → ACTIVE (resume)
ACTIVE → COMPLETED (max runs or end date reached)
ACTIVE → CANCELLED
PAUSED → CANCELLED
```
| Status | Description |
| ------------- | -------------------------------------------------------------------------- |
| **Active** | Running on schedule. Invoices are generated at each scheduled time. |
| **Paused** | Temporarily stopped. No invoices are generated until resumed. |
| **Completed** | Finished — reached the end date or maximum number of runs. Terminal state. |
| **Cancelled** | Manually cancelled. Terminal state. |
Completed and Cancelled are terminal states. Once a recurring invoice reaches either status, it
cannot be reactivated.
## Run Statuses [#run-statuses]
Each time a recurring invoice executes, a run record is created:
| Run Status | Meaning |
| ----------- | ----------------------------------------------------------------- |
| **Success** | Invoice was generated (and emailed if auto-send is on) |
| **Failed** | Something went wrong — check the error message in run history |
| **Skipped** | The run was skipped (e.g., schedule conflict or validation issue) |
## Getting Started [#getting-started]
# Managing Recurring Invoices (/docs/recurring-invoices/managing-recurring-invoices)
## List View [#list-view]
Access your recurring invoices from **Recurring Invoices → List** in the sidebar.
The list displays all recurring invoices with the following columns:
| Column | Description |
| -------------- | --------------------------------------------------------------- |
| **Name** | The recurring invoice name |
| **Customer** | Assigned customer name |
| **Frequency** | How often invoices are generated |
| **Next Run** | When the next invoice will be generated (shown for Active only) |
| **Total Runs** | Number of invoices generated so far |
| **Status** | Current lifecycle status |
| **Actions** | Context menu with available operations |
Click any row to open the detail page.
### Search [#search]
Use the search bar to find recurring invoices by name or customer name. Search is case-insensitive with a 300ms debounce.
### Filters [#filters]
Filter the list using the dropdowns:
* **Status**: All Statuses, Active, Paused, Completed, Cancelled
* **Frequency**: All Frequencies, Weekly, Biweekly, Monthly, Quarterly, Semi-annually, Annually
Active filters appear as chips below the filter bar with individual clear buttons and a "Clear all" option.
### Sort & Display [#sort--display]
Open the Sort & Display popover to configure:
| Option | Choices |
| -------------------- | ------------------------------------------------ |
| **Sort By** | Name, Next Run, Total Runs, Status, Created Date |
| **Sort Order** | Ascending, Descending |
| **Results Per Page** | 5, 10, 25, 50 |
On mobile, all filters collapse into a bottom sheet triggered by the "Filters & Sort" button.
***
## Detail Page [#detail-page]
Click a recurring invoice to view its full details.
The detail page has two columns:
### Main Content (Left) [#main-content-left]
1. **Schedule Card**: Next run date (highlighted), frequency, start/end dates, time, timezone, repeat pattern badges, run stats, and auto-send toggle.
2. **Run History**: Paginated table of all runs with columns for scheduled time, status, generated invoice link, email sent, and error details.
3. **Invoice Items**: Product table with subtotal, shipping, discount, tax, and total.
### Sidebar (Right) [#sidebar-right]
* **Customer**: Name and email
* **Assigned Employee**: Name and employee ID (if assigned)
* **Invoice Settings**: Currency, currency format, template, language, tax, discount, shipping
* **Terms & Messages**: Payment terms and end message (if set)
* **Details**: Created date and last run timestamp
***
## Pausing and Resuming [#pausing-and-resuming]
### Pause [#pause]
To temporarily stop a recurring invoice from generating invoices:
1. From the **list view**: Click the three-dot menu on an Active recurring invoice → **Pause**
2. From the **detail page**: Click the **Pause** button in the header
The status changes to **Paused** and no further invoices are generated until resumed.
### Resume [#resume]
To reactivate a paused recurring invoice:
1. From the **list view**: Click the three-dot menu on a Paused recurring invoice → **Resume**
2. From the **detail page**: Click the **Resume** button in the header
The status changes back to **Active**. If the next scheduled run was in the past, it is automatically advanced to the next valid future time.
Only Active invoices can be paused, and only Paused invoices can be resumed. Completed and
Cancelled invoices cannot be reactivated.
***
## Editing Recurring Invoices [#editing-recurring-invoices]
You can update any field on a recurring invoice that is in **Active** or **Paused** status. Changes to schedule parameters (frequency, anchor days, time, timezone) automatically recalculate the next run date.
Recurring invoices in Completed or Cancelled status cannot be edited.
***
## Deleting Recurring Invoices [#deleting-recurring-invoices]
To delete a recurring invoice:
1. From the **list view**: Click the three-dot menu → **Delete**
2. From the **detail page**: Click the **Delete** button
A confirmation dialog appears before deletion. Deleting a recurring invoice permanently removes it along with all run history. Previously generated invoices are not affected.
***
## Run History [#run-history]
Each time a recurring invoice executes, a run record is created with one of three statuses:
| Status | Badge Color | Description |
| ----------- | ----------- | ------------------------------------------------------------------- |
| **Success** | Green | Invoice was generated successfully. Links to the generated invoice. |
| **Failed** | Red | An error occurred. Check the error message for details. |
| **Skipped** | Amber | The run was skipped due to a schedule conflict or validation issue. |
Run history is available on the detail page and shows:
* **Scheduled For**: When the run was supposed to execute
* **Status**: Success, Failed, or Skipped
* **Invoice**: Link to the generated invoice (Success runs only)
* **Email Sent**: Whether the invoice was emailed
* **Error**: Error message (Failed runs only)
***
## Statistics [#statistics]
The recurring invoices list page shows summary statistics at the top:
| Stat | Description |
| ------------------- | --------------------------------------------- |
| **Active** | Number of currently active recurring invoices |
| **Paused** | Number of paused recurring invoices |
| **Completed** | Number of completed recurring invoices |
| **Runs This Month** | Total runs executed in the current month |
***
## Related Topics [#related-topics]
* [Creating Recurring Invoices](/docs/recurring-invoices/creating-recurring-invoices) — Set up new automated billing
* [Recurring Invoices Overview](/docs/recurring-invoices) — Feature overview and lifecycle
* [Invoice List](/docs/invoices/invoice-list) — Managing one-time invoices
# Subscription (/docs/subscription)
## Quick Start [#quick-start]
Every PineBill account starts with a **7-day free trial** of Pro features. View and manage your subscription from **[Settings](/dashboard/setup)** → **Organization Management** → **[Subscription](/dashboard/subscription)**.
***
## Available Plans [#available-plans]
PineBill offers four subscription tiers to match your business needs, check more details on the [Pricing Page](/pricing):
| Plan | Price | Best For | Key Limits |
| -------------- | ------------- | ------------------- | ---------------------------------------------- |
| **Trial** | Free (7 days) | Testing PineBill | 50 invoices/month, 2 members |
| **Solo** | $10/month | Freelancers | 100 invoices/month, 1 member |
| **Pro** | $19.9/month | Growing businesses | 1,000 invoices/month, 5 members, 10K API calls |
| **Enterprise** | $90/month | Large organizations | Unlimited invoices, members, API calls |
**Save with Annual Billing**: Get 2-3 months free by switching to annual billing. Solo saves
$30/year, Pro saves $60/year, Enterprise saves $180/year.
***
## Usage Limits & Monitoring [#usage-limits--monitoring]
Each plan includes specific usage limits tracked in your dashboard:
### Monthly Limits (Reset Every Billing Period) [#monthly-limits-reset-every-billing-period]
* **Invoices Generated**: Number of invoices created per month
* **API Calls**: Monthly API requests (Pro and Enterprise only)
### Account Limits (Ongoing State) [#account-limits-ongoing-state]
* **Team Members**: Active organization members
* **Storage**: Total file storage used
* **Max File Size**: Maximum size per file upload
* **Products**: Items in product catalog
* **Categories**: Product category count
* **Customers**: Customer records
When you reach a limit, PineBill will prompt you to upgrade or reduce usage before continuing.
***
## Changing Your Plan [#changing-your-plan]
### 1. Access Plan Management [#1-access-plan-management]
1. Open **[Settings](/dashboard/setup)**
2. Click **[Subscription](/dashboard/subscription)**
3. Click **Upgrade Now** or **Change Plan** button
4. Plan comparison dialog opens
### 2. Choose Your Plan [#2-choose-your-plan]
* **Upgrading**: Takes effect immediately with prorated billing
* **Downgrading**: Takes effect at the end of your current billing period
* **Billing Cycle**: Choose monthly or annual (annual saves money)
You cannot downgrade if your current usage exceeds the target plan's limits. Reduce usage first
(e.g., remove team members, delete files).
### 3. Complete Checkout [#3-complete-checkout]
* First-time subscribers: Redirected to Polar checkout
* Existing subscribers upgrading: Instant upgrade with automatic proration
* Downgrading: Scheduled for next billing period
***
## Billing Management [#billing-management]
### Billing Portal [#billing-portal]
Access your billing portal to manage:
* View invoices and payment history
* Update payment methods
* Change billing email
* Download receipts
**To access**: Open **[Settings](/dashboard/setup)** → **[Subscription](/dashboard/subscription)**, then click **Billing Portal** (opens in a new tab).
**Note**: Only organization owners can access billing management features.
### Billing Cycles [#billing-cycles]
* **Monthly**: Billed every month on your subscription start date
* **Annual**: Billed once per year (save 17-25%)
* **Trial**: Free for 7 days, no payment required
***
## Trial Period [#trial-period]
Every new organization gets a **7-day free trial** with Pro plan features:
**Trial Includes:**
* 50 invoices/month
* 50 API calls/month
* 2 team members
* 100MB storage
* All Pro features enabled
**What Happens After Trial:**
* **If you upgrade**: Seamless transition to your chosen paid plan
* **If trial expires**: Account switches to restricted mode until you subscribe
You can upgrade to a paid plan anytime during your trial. You'll only be charged after your trial
period ends.
***
## Canceling Your Subscription [#canceling-your-subscription]
### 1. Initiate Cancellation [#1-initiate-cancellation]
1. Open **[Settings](/dashboard/setup)**
2. Go to **[Subscription Dashboard](/dashboard/subscription)**
3. Click **Cancel Subscription** in the Management section
4. Cancellation dialog opens
### 2. Confirm Cancellation [#2-confirm-cancellation]
1. Optionally provide a cancellation reason (helps us improve)
2. Review what happens after cancellation
3. Click **Confirm Cancellation**
### 3. End of Billing Period [#3-end-of-billing-period]
* Your subscription remains **active until your current period ends**
* You keep full access to paid features until then
* No refunds for partial months
* After period ends, account reverts to Trial limits with view-only access
### Reactivating a Canceled Subscription [#reactivating-a-canceled-subscription]
Changed your mind? You can reactivate anytime before your period ends:
1. Open **[Settings](/dashboard/setup)**
2. Go to **[Subscription Dashboard](/dashboard/subscription)**
3. Click **Reactivate** button
4. Subscription continues without interruption
***
## Subscription Statuses [#subscription-statuses]
Your subscription can have different statuses:
| Status | Meaning | What to Do |
| -------------- | -------------------------------- | ---------------------------------------- |
| **Trialing** | In 7-day trial period | Upgrade anytime or wait for trial to end |
| **Active** | Subscription is current and paid | Continue using PineBill normally |
| **Past Due** | Payment failed but retrying | Update payment method in billing portal |
| **Unpaid** | Payment overdue, limited access | Update payment method immediately |
| **Incomplete** | Payment setup incomplete | Complete payment setup in billing portal |
| **Canceled** | Canceled, waiting for period end | Reactivate or continue until period ends |
| **Expired** | Trial or subscription ended | Subscribe to continue |
**Payment Issues**: If your payment fails, you'll have limited time to update your payment method
before access is restricted.
***
## Common Questions [#common-questions]
**Yes**, but with some differences:
* **Upgrades**: Take effect immediately. You'll be charged a prorated amount for the remainder of your billing period.
* **Downgrades**: Scheduled for the end of your current billing period to avoid losing access you've paid for.
* **Billing cycle changes**: Switching between monthly and annual can be done anytime.
**During your billing period:**
* Monthly limits (invoices, API calls): You'll be prompted to upgrade
* State limits (members, storage, products): You'll need to upgrade or reduce usage to continue
**Soft limits**: Some limits allow slight overages with warnings
**Hard limits**: Others block actions until you upgrade or reduce usage
**No**, PineBill follows a no-refund policy:
* You keep full access until your current billing period ends
* No charges occur after your period ends
* You can reactivate anytime before the period ends
**Yes**, you can switch billing cycles anytime:
* **Monthly → Annual**: Save money (17-25% discount)
* **Annual → Monthly**: Takes effect at the end of your annual period
* Contact support if you need immediate billing cycle changes
**Your data is safe**:
* All data (invoices, customers, products) is preserved
* You can view (but not create) data after expiration
* Full access resumes immediately when you resubscribe
* Data is retained for a reasonable period per our data retention policy
**No**, subscriptions are tied to specific organizations and cannot be transferred. If you need to move to a new organization:
1. Cancel subscription on old organization
2. Create new subscription on new organization
3. Manually migrate your data or contact support for assistance
***
## Related Topics [#related-topics]
* [Organization Settings](/docs/organization/organization-settings) - Manage your organization and team
* [Getting Started](/docs/getting-started) - Set up your account and create your first invoice
* [API Documentation](/docs/api) - Integrate PineBill with your applications
# Troubleshooting (/docs/troubleshooting)
## Troubleshooting [#troubleshooting]
Documentation for troubleshooting is coming soon. This section will cover:
* Common issues and solutions
* FAQ and quick fixes
* How to contact support
* Response times and support channels
If you need immediate assistance, please use the live chat feature in your dashboard or email [support@pinebill.app](mailto:support@pinebill.app).
# File Vault (/docs/vault)
## Quick Start [#quick-start]
File Vault provides secure cloud storage for your business documents, invoices, contracts, and files. Upload, organize, and share files with your team and clients at [Dashboard](/dashboard) → **[File Vault](/dashboard/vault)**.
***
## What is File Vault? [#what-is-file-vault]
File Vault is PineBill's secure file management system that allows you to:
* **Upload Files**: Store documents, images, PDFs, spreadsheets, and more
* **Organize**: Create folders and subfolders for easy organization
* **Share Securely**: Generate secure sharing links with passwords and expiration
* **Access Control**: Team members can access shared organization files
***
## Storage Limits by Plan [#storage-limits-by-plan]
| Plan | Storage Capacity | Max File Size | File Retention |
| -------------- | ---------------- | ------------- | -------------- |
| **Trial** | 100 MB | 10 MB | Permanent |
| **Solo** | 10 GB | 10 MB | Permanent |
| **Pro** | 150 GB | 100 MB | Permanent |
| **Enterprise** | 1 TB | 500 MB | Permanent |
Need more storage? [Upgrade your plan](/docs/subscription) for increased capacity and larger file
uploads.
***
## Uploading Files [#uploading-files]
### 1. Access File Vault [#1-access-file-vault]
1. Navigate to **[File Vault](/dashboard/vault)**
2. Click **Upload Files** button
3. Upload dialog opens
### 2. Select Files [#2-select-files]
* Drag and drop files into the upload area
* Or click **Browse** to select files from your device
* Multiple files can be uploaded at once
**Supported file types:**
| Category | File Types |
| ------------- | ----------------------- |
| Documents | PDF, DOC, DOCX, TXT, MD |
| Spreadsheets | XLS, XLSX, CSV |
| Presentations | PPT, PPTX |
| Images | JPG, PNG, WEBP, GIF |
| Archives | ZIP |
| Data | JSON, XML |
### 4. Upload [#4-upload]
1. Click **Upload** button
2. Files are encrypted and uploaded securely
3. Progress bar shows upload status
4. Files appear in your vault when complete
Uploads are limited by your plan's max file size. Files exceeding the limit will be rejected.
***
## File Management [#file-management]
### Viewing Files [#viewing-files]
Files are displayed in a grid or list view with:
* **Thumbnail**: Visual preview (for images and PDFs)
* **Name**: File name and type
* **Size**: File size in KB/MB/GB
* **Uploaded**: Date and uploader
* **Folder**: Current location
### File Actions [#file-actions]
Click on any file to access actions:
* **Download**: Download file to your device
* **Share**: Generate secure sharing link
* **Delete**: Remove file from vault
***
## Searching Files [#searching-files]
Use the search bar to find files quickly:
* **Search by name**: Type file name
* **Filter by type**: PDF, Images, Documents, Spreadsheets
* **Filter by date**: Upload date range
* **Filter by uploader**: Who uploaded the file
* **Filter by folder**: Files in specific folders
***
## Storage Usage [#storage-usage]
Monitor your storage usage:
1. Check the storage indicator at the top of File Vault
2. View breakdown by file type
3. See largest files consuming storage
4. Access from **[Subscription Dashboard](/dashboard/subscription)**
**When approaching limit:**
* Yellow warning at 80% usage
* Red alert at 95% usage
* Uploads blocked at 100% capacity
**Solutions:**
* Delete unused files
* Remove old temporary files
* Upgrade to higher plan tier
***
## File Permissions [#file-permissions]
### Organization Files [#organization-files]
All files uploaded to the vault are organization-owned:
* **Admins**: Full access (upload, download, delete, share)
* **Members**: Upload, download, and share files
***
## Related Topics [#related-topics]
* [Organizing Files](/docs/vault/organizing-files) - Folders and file organization
* [Sharing Files](/docs/vault/sharing-files) - Secure file sharing with links
* [Security](/docs/vault/security) - How we keep your files safe
* [Subscription Plans](/docs/subscription) - Storage limits by plan
# Organizing Files (/docs/vault/organizing-files)
## Quick Start [#quick-start]
Organize your files with folders and subfolders for easy access and management. Create a structured filing system that matches your business needs.
***
## Creating Folders [#creating-folders]
### 1. Open Create Folder Dialog [#1-open-create-folder-dialog]
1. Navigate to **[File Vault](/dashboard/vault)**
2. Click **New Folder** button
3. Folder creation dialog opens
### 2. Name Your Folder [#2-name-your-folder]
* Enter a descriptive folder name
* Use clear, searchable names
* Maximum 255 characters
**Avoid:**
* Special characters: `/ \ : * ? " < > |`
* Very long names that get truncated
### 3. Select Location [#3-select-location]
* **Root**: Create at top level
* **Inside Folder**: Select parent folder for subfolders
### 4. Create [#4-create]
1. Click **Create Folder**
2. Folder appears in your vault immediately
3. Upload files or create subfolders inside
***
## Deleting Folders [#deleting-folders]
### Delete Empty Folder [#delete-empty-folder]
1. Navigate to folder
2. Click folder options menu
3. Select **Delete Folder**
4. Confirm deletion
### Delete Folder with Contents [#delete-folder-with-contents]
**Warning:** Deleting a folder deletes all files and subfolders inside.
1. Click folder options menu
2. Select **Delete Folder**
3. Review contents count
4. Type folder name to confirm
5. Click **Delete Permanently**
**Recovery:**
Deleted folders and files cannot be recovered. Ensure you have backups if needed.
***
## Folder Navigation [#folder-navigation]
### Breadcrumb Navigation [#breadcrumb-navigation]
Use breadcrumbs at the top to:
* See current location path
* Jump to parent folders
* Return to root quickly
**Example:** Home > Clients > Acme Corp > Invoices
### Quick Actions [#quick-actions]
* **Back Button**: Return to previous folder
* **Search**: Find files across all folders
* **Filter by Folder**: Show files only from specific folders
***
## Folder Structure [#folder-structure]
### Hierarchical Organization [#hierarchical-organization]
Create nested folder structures:
### Best Practices [#best-practices]
**By Category:**
**By Date:**
**By Client/Project:**
***
## Related Topics [#related-topics]
* [File Vault](/docs/vault) - Main vault features and uploading
* [Sharing Files](/docs/vault/sharing-files) - Share files and folders securely
* [Security](/docs/vault/security) - File security and encryption
# Security (/docs/vault/security)
## Quick Start [#quick-start]
PineBill File Vault uses enterprise-grade security infrastructure to protect your files at every stage—upload, storage, sharing, and download.
Your files are protected by the same security standards used by Fortune 500 companies and
government agencies.
***
## Infrastructure Security [#infrastructure-security]
### Enterprise Cloud Storage [#enterprise-cloud-storage]
Files are stored on globally distributed, enterprise-grade cloud infrastructure:
**Benefits:**
* **99.99% Uptime**: Industry-leading availability
* **Global Distribution**: Fast access from anywhere
* **Automatic Redundancy**: Files replicated across multiple data centers
* **Disaster Recovery**: Built-in backup and failover
* **DDoS Protection**: Network-level threat mitigation
**Storage Architecture:**
* Multi-region redundancy
* Automated failover systems
* Real-time data replication
* Geographic distribution for speed
* Carrier-grade network infrastructure
***
## Encryption [#encryption]
### At Rest [#at-rest]
All files are encrypted when stored:
* **AES-256 Encryption**: Military-grade encryption standard
* **Zero-Knowledge Architecture**: We cannot decrypt your files without authorization
**What this means:**
* Files stored encrypted on disk
* Unreadable if storage is compromised
* Compliant with data protection regulations
* Automatic encryption (no setup required)
### In Transit [#in-transit]
Data encrypted during upload and download:
* **TLS 1.3**: Latest transport security protocol
* **HTTPS Everywhere**: All connections encrypted
* **Perfect Forward Secrecy**: Unique session keys
***
## Sharing Security [#sharing-security]
### Secure Share Links [#secure-share-links]
Share links use multiple security layers:
**Link Security:**
* **Random Tokens**: 128-bit cryptographically secure
* **Unguessable URLs**: Impossible to brute force
* **No Sequential IDs**: Cannot enumerate shares
* **HTTPS Required**: Encrypted transmission
**Access Controls:**
* Time-based expiration
* View count limits
* Password protection
* Instant revocation
### Password Protection [#password-protection]
When sharing with passwords:
* **Hashing**: Industry-standard password hashing
* **Salt Rounds**: Resistant to rainbow tables
* **No Plain Text**: Passwords never stored in plain text
* **Brute Force Protection**: Rate limiting on attempts
***
## Compliance & Privacy [#compliance--privacy]
### Data Protection Standards [#data-protection-standards]
**Data Privacy:**
* No data mining or advertising
* Your files are private
* No third-party data sharing
* Transparent data practices
### Security Certifications [#security-certifications]
### Privacy Guarantees [#privacy-guarantees]
**What we collect:**
* File metadata (name, size, type, dates)
* Upload/access logs for security
* Organization and user information
**What we don't collect:**
* File content analysis
* Personal identification from files
* Behavioral tracking or profiling
* Sale of your data to third parties
***
## Troubleshooting [#troubleshooting]
**Signs of compromise:**
* Unrecognized logins
* Files accessed/modified by others
* Share links you didn't create
* Password change notifications you didn't initiate
**Immediate actions:**
1. Change password immediately
2. Revoke all active sessions
3. Check recent activity log
4. Revoke suspicious share links
5. Review organization members
6. Contact support for security review
**Problem**: Downloaded file won't open or appears damaged.
**Possible causes**:
* Incomplete download
* Network interruption
* Disk space issue
* Original file was corrupted
**Solution**:
* Try downloading again
* Verify file size matches original
* Check checksum if available
* Try different browser or device
* Contact support if issue persists
**Problem**: Shared file link is blocked or inaccessible.
**Possible causes**:
* Corporate firewall blocking
* Antivirus software interference
* Browser security settings
* Geographic restrictions
**Solution**:
* Try different network
* Disable VPN temporarily
* Check browser security settings
* Contact IT if using corporate network
**Question**: How do I know my files are secure?
**Answer**: Your files are protected by:
* Enterprise-grade encryption (AES-256)
* Secure, SOC 2 Type II certified infrastructure
* Access controls and authentication
* Regular security audits
* Compliance with major data protection regulations
For additional security requirements, Enterprise plans offer:
* Advanced encryption options
* Custom security policies
* Dedicated security review
* Enhanced compliance features
***
## Related Topics [#related-topics]
* [File Vault](/docs/vault) - Main vault features
* [Sharing Files](/docs/vault/sharing-files) - Secure file sharing
* [Organization Settings](/docs/organization/organization-settings) - Team access management
* [Subscription Plans](/docs/subscription) - Security features by plan
# Sharing Files (/docs/vault/sharing-files)
## Quick Start [#quick-start]
Share files securely with clients and external parties using time-limited, password-protected sharing links. Control access and track views.
**Permissions**: Admins and Members can create sharing links. Guests cannot share files
externally.
***
## Creating Sharing Links [#creating-sharing-links]
### 1. Select File to Share [#1-select-file-to-share]
1. Navigate to **[File Vault](/dashboard/vault)**
2. Find the file you want to share
3. Click file menu (three dots)
4. Select **Share**
### 2. Configure Share Settings [#2-configure-share-settings]
**Link Expiration:**
* No expiration (link works forever)
* 1 hour, 1 day and 7 days
* Custom date and time
**View Limit:**
* Unlimited views
* Maximum views (1, 5, 10, 25, 50, 100)
* Link expires after reaching limit
**Password Protection:**
* No password (anyone with link can access)
* Set password (recipients must enter password to view)
### 3. Generate and Copy Link [#3-generate-and-copy-link]
1. Click **Generate Share Link**
2. Secure link is created instantly
3. Copy link to clipboard
4. Share via email, chat, or any method
**Link format:**
```
https://pinebill.app/share/abc123xyz789
```
### 4. Share with Recipients [#4-share-with-recipients]
* Send link to intended recipients
* Include password separately (if set)
* Inform about expiration time
* Provide access instructions
***
## Managing Share Links [#managing-share-links]
### Active Shares Dashboard [#active-shares-dashboard]
View all active sharing links:
1. Go to **[File Vault](/dashboard/vault)**
2. Click **Shares** tab
3. See all active shares
**Information shown:**
* File name and size
* Share link (masked)
* Expiration date
* View count (current/maximum)
* Created date and creator
* Last accessed timestamp
### Revoking Share Links [#revoking-share-links]
Immediately disable access:
1. Find share link in Shares dashboard
2. Click **Revoke** or **Delete**
3. Confirm revocation
4. Link stops working instantly
**When to revoke:**
* File was shared by mistake
* Recipient no longer needs access
* Security concern or breach suspected
* File has been updated (create new share)
***
## Security Best Practices [#security-best-practices]
### When Sharing Sensitive Files [#when-sharing-sensitive-files]
**Use Password Protection:**
* Always protect confidential files
* Use strong, unique passwords
* Share password separately
**Set Short Expiration:**
* Don't use "no expiration" for sensitive files
* 1-7 days for most cases
* 1 hour for highly sensitive documents
**Limit Views:**
* Set view count if you know exact recipients
* Prevents unlimited distribution
* Revoke after confirmed access
### Share Link Security [#share-link-security]
**What makes links secure:**
* Unique random tokens (impossible to guess)
* HTTPS encryption in transit
* Server-side access control
* Automatic expiration
* Revocable at any time
**What recipients can do:**
* View file in browser
* Download file (if enabled)
* Cannot see other vault files
* Cannot modify original file
**What recipients cannot do:**
* Access your vault
* View your organization
* Share the file further (no re-sharing)
* See file metadata or history
***
## Limitations [#limitations]
### File Size [#file-size]
Recipients can download files up to your plan's max file size:
* Shared files respect plan limits
* Large files may take time to download
* Consider compressing large files first
### Deleted Files [#deleted-files]
Sharing links for deleted files stop working:
* Restore file from trash to reactivate
* Or create new share link after restoration
***
## Troubleshooting [#troubleshooting]
**Problem**: Recipients get error accessing link.
**Common causes**:
* Link expired (check expiration date)
* View limit reached
* Link was revoked
* Wrong password entered
* File was deleted
**Solution**: Check share status in dashboard. Create new link if needed.
**Problem**: File opens but can't be downloaded.
**Solution**:
* Some browsers block downloads for security
* Try different browser
* Disable popup blockers temporarily
* Use "Save As" or right-click to download
**Problem**: Can't find previously created share link.
**Solution**:
* Check Shares dashboard in vault
* Search by file name
* If not found, link may have expired or been revoked
* Create new share link if needed
**Problem**: Cannot create more share links.
**Solution**:
* Revoke old, unused share links
* Delete expired shares
* Upgrade plan for higher limits
* Check your plan's sharing quota
***
## Related Topics [#related-topics]
* [File Vault](/docs/vault) - Main vault features
* [Security](/docs/vault/security) - How file sharing is secured
* [Organizing Files](/docs/vault/organizing-files) - File organization tips
# Creating Tasks (/docs/tasks/creating-tasks)
## Quick Start [#quick-start]
Go to **[Dashboard](/dashboard)** -> **[Tasks](/dashboard/projects/tasks)** and click **New Task**. You can also create tasks from the Tasks tab on a project detail page.
***
## Task Fields [#task-fields]
| Field | Required | Notes |
| --------------- | -------- | -------------------------------------------------------------- |
| **Title** | Yes | Task name, up to 200 characters |
| **Description** | No | Details about the task, up to 1,000 characters |
| **Status** | No | To Do (default), In Progress, Review, or Done |
| **Start Date** | No | When the task begins |
| **Due Date** | No | Target completion date, shown with urgency colors on the board |
| **Hourly Rate** | No | Rate used when converting the task to an invoice line item |
| **Currency** | No | Currency for the hourly rate, defaults to USD |
| **Notes** | No | Internal notes, up to 1,000 characters |
| **Project** | No | Assign the task to a project |
| **Assigned To** | No | Team member responsible for the task |
***
## Step-by-Step Guide [#step-by-step-guide]
### 1. Open the Task Form [#1-open-the-task-form]
1. Go to **[Tasks](/dashboard/projects/tasks)**
2. Click **New Task**
3. Enter a task title
### 2. Add Optional Details [#2-add-optional-details]
Open **More options** to add:
* Description
* Status
* Start and due dates
* Hourly rate and currency
* Notes
* Project
* Assigned team member
If you create a task from a project's Tasks tab, the project is automatically selected.
### 3. Save [#3-save]
Click **Create Task**. The task appears on the Kanban board in the selected status column (or To Do by default).
***
## Due Date Urgency [#due-date-urgency]
Due dates on task cards are color-coded:
| Color | Meaning |
| --------- | --------------------------- |
| **Red** | Overdue (past the due date) |
| **Amber** | Due within 2 days |
| **Gray** | More than 2 days away |
***
## Editing a Task [#editing-a-task]
Click a task to open the detail sidebar, then click **Edit**. You can also use the actions menu on the task card. All fields can be updated after creation.
***
## After Creating [#after-creating]
Once a task is saved, you can:
* Start tracking time with the built-in timer
* Upload file attachments (up to 3 files)
* Drag it between Kanban columns to change status
* Convert it to an invoice line item
* Link it to a different project
***
## Related Topics [#related-topics]
* [Task Management](/docs/tasks) - Overview of task features
* [Time Tracking](/docs/tasks/time-tracking) - Track hours with timers
* [Converting Tasks to Invoices](/docs/tasks/task-to-invoice) - Bill for completed work
* [Project Management](/docs/projects) - Organize tasks into projects
# Task Management (/docs/tasks)
## Quick Start [#quick-start]
Use Tasks to break projects into trackable units of work. Each task has a built-in timer for time tracking and can be converted into an invoice line item when the work is done.
Go to **[Dashboard](/dashboard)** -> **[Tasks](/dashboard/projects/tasks)**.
***
## Key Features [#key-features]
***
## View Modes [#view-modes]
Tasks can be displayed in two ways. Use the toggle at the top of the page to switch.
### Kanban Board [#kanban-board]
Drag-and-drop cards between columns to change status. Columns are **To Do**, **In Progress**, **Review**, and **Done**. Each card shows the task title, timer state, time spent, due date, project, and assignee.
### Table List [#table-list]
A sortable table with columns for task details. Useful for searching, bulk selecting, and sorting across all tasks.
***
## Task Metrics [#task-metrics]
Summary cards at the top of the page show:
* **To Do**: number of tasks not yet started
* **In Progress**: tasks currently being worked on
* **Done**: completed tasks
* **Total**: all tasks across statuses
***
## Task Statuses [#task-statuses]
| Status | Color | Meaning |
| --------------- | ----- | ----------------------------- |
| **To Do** | Gray | Not started |
| **In Progress** | Blue | Work is underway |
| **Review** | Amber | Work is done, awaiting review |
| **Done** | Green | Completed |
Change status by dragging cards on the Kanban board, using the actions menu, or editing the task.
***
## Searching, Filtering, and Sorting [#searching-filtering-and-sorting]
| Control | What it does |
| -------------- | ------------------------------------------------------------------------- |
| **Search** | Searches task title and description |
| **Status** | Filters by To Do, In Progress, Review, or Done |
| **Sort by** | Sort by created date, due date, start date, title, status, or hourly rate |
| **Sort order** | Ascending or descending |
Click **Clear filters** to reset all active filters.
***
## Task Detail Sidebar [#task-detail-sidebar]
Click any task to open the detail sidebar on the right. From here you can:
* View and edit all task properties
* Start, pause, or stop the timer
* Add or remove time manually with notes
* View timer history with timestamps
* Upload and manage file attachments
* Convert the task to an invoice
* Delete the task
***
## File Attachments [#file-attachments]
You can attach files to a task from the detail sidebar.
| Limit | Value |
| ------------------- | ------------------------------------------------------------- |
| **Max files** | 3 per task |
| **Max file size** | 5 MB each |
| **Supported types** | Images, PDF, Word, Excel, CSV, Markdown, text, JSON, XML, ZIP |
Uploaded files are stored securely. Download links are signed and expire after 1 hour.
***
## Deleting Tasks [#deleting-tasks]
Delete a single task from its actions menu or the detail sidebar. To delete multiple tasks, select them using checkboxes and click **Delete Selected**.
Deleting a task permanently removes it along with all timer history and file attachments. This cannot be undone.
***
## Permissions [#permissions]
| Role | Can view | Can create | Can edit | Can delete |
| --------------- | -------- | ---------- | --------- | ---------- |
| **Owner/Admin** | Yes | Yes | Any task | Yes |
| **Member** | Yes | Yes | Own tasks | No |
***
## Common Questions [#common-questions]
Yes. The project field is optional. Standalone tasks appear on the main Tasks page and can still use timers and be converted to invoices.
The timer keeps running on the server. When you return, the elapsed time since the timer started
is calculated and displayed. Stop the timer to record the session.
Timer sessions are recorded per user. Each team member's time is tracked separately in the timer
history.
Task limits depend on your subscription plan. You will see a message if you reach your plan's task limit.
***
## Related Topics [#related-topics]
* [Creating Tasks](/docs/tasks/creating-tasks) - Add new tasks
* [Time Tracking](/docs/tasks/time-tracking) - Use timers and manual time entry
* [Converting Tasks to Invoices](/docs/tasks/task-to-invoice) - Bill clients for task hours
* [Project Management](/docs/projects) - Organize tasks into projects
# Converting Tasks to Invoices (/docs/tasks/task-to-invoice)
## Quick Start [#quick-start]
When you finish work on a task, convert it to an invoice to bill your client for the hours tracked.
***
## Convert a Single Task [#convert-a-single-task]
1. Open the task actions menu or the task detail sidebar
2. Click **Convert to Invoice**
3. PineBill opens the invoice generator with the task added as a line item
4. Add customer details, review the amounts, and finalize the invoice
***
## Convert Multiple Tasks [#convert-multiple-tasks]
1. Select tasks using the checkboxes on the Kanban board or table list
2. Click **Convert to Invoice**
3. PineBill opens the invoice generator with each selected task as a separate line item
4. Review all line items, add customer details, and finalize the invoice
***
## What Gets Included [#what-gets-included]
Each task becomes an invoice line item with:
| Field | Source |
| --------------- | --------------------------------------------------- |
| **Name** | Task title, date range, and total duration |
| **Price** | Task hourly rate |
| **Quantity** | Total time spent (used to calculate the line total) |
| **Description** | Task description, if one exists |
If the task currency differs from your organization currency, PineBill converts the hourly rate using current exchange rates.
***
## Before Converting [#before-converting]
Make sure the following are in place before converting:
* **Stop all running timers** — Tasks with active timers cannot be converted. Stop the timer first so the final time is recorded.
* **Set an hourly rate** — Tasks without an hourly rate will have a zero price on the invoice line item.
* **Check time entries** — Review the total time spent and make manual adjustments if needed.
***
## After Converting [#after-converting]
* PineBill opens the invoice generator pre-filled with the task line items
* The invoice is saved as a **Draft** — you can edit it before sending
* Once the invoice is created, it is linked to the original tasks via the task's invoice field
* You can view the linked invoice from the task detail sidebar
***
## Common Questions [#common-questions]
A task can only be linked to one invoice at a time. To bill for additional work, add more time to the task and convert again, or create a new task.
The line item will have a price of zero. You can edit the price directly in the invoice generator
before saving.
Yes. Edit the invoice to remove the line item, or unlink the invoice from the task in the task detail sidebar.
***
## Related Topics [#related-topics]
* [Task Management](/docs/tasks) - Overview of task features
* [Time Tracking](/docs/tasks/time-tracking) - Track hours before invoicing
* [Creating Invoices](/docs/invoices/creating-invoices) - Finalize and send invoices
# Time Tracking (/docs/tasks/time-tracking)
## Quick Start [#quick-start]
Every task has a built-in timer. Click the play button on any task card or open the task detail sidebar to start tracking time.
***
## Timer Controls [#timer-controls]
| Action | Button | What it does |
| ---------- | ------ | ------------------------------------------------------- |
| **Start** | Play | Begins tracking time from zero |
| **Pause** | Pause | Temporarily pauses the timer, can be resumed |
| **Resume** | Play | Continues a paused timer from where it stopped |
| **Stop** | Stop | Ends the session and adds the elapsed time to the total |
When you start or resume a timer, the task status automatically changes to **In Progress**.
The timer displays elapsed time in **HH:MM:SS** format and updates every second. A pulsing indicator shows when a timer is actively running.
***
## Typical Timer Workflow [#typical-timer-workflow]
1. Open a task and click **Start** to begin tracking
2. Work on the task — the timer runs in the background
3. Click **Pause** if you need a break, then **Resume** to continue
4. Click **Stop** when the work session is finished
5. The elapsed time is added to the task's total time spent
You can run multiple sessions across different days. Each session is recorded separately in the timer history.
***
## Manual Time Adjustments [#manual-time-adjustments]
If you forgot to start the timer or need to correct logged time, use the manual adjustment dialog in the task detail sidebar.
### Adding Time [#adding-time]
1. Open the task detail sidebar
2. Click the manual time adjustment button
3. Enter the duration to add
4. Optionally add a note explaining why
5. Click **Add**
### Removing Time [#removing-time]
1. Open the task detail sidebar
2. Click the manual time adjustment button
3. Enter the duration to remove
4. Optionally add a note explaining why
5. Click **Remove**
The total time spent cannot go below zero.
***
## Timer History [#timer-history]
The task detail sidebar shows a complete log of all timer sessions, including:
* Action type (Start, Stop, Pause, Resume, Manual Add, Manual Remove)
* Duration recorded
* User who performed the action
* Timestamp
* Notes (for manual adjustments)
Sessions are listed in reverse chronological order.
***
## How Time is Calculated [#how-time-is-calculated]
* **Start/Resume** records the moment the timer begins
* **Stop/Pause** calculates elapsed seconds since the last start or resume
* **Manual Add** adds the specified seconds directly to the total
* **Manual Remove** subtracts the specified seconds from the total
* The task's **total time spent** is the cumulative sum of all sessions
If you close the browser while a timer is running, the server continues tracking. The elapsed time is calculated when you return and stop the timer.
***
## Common Questions [#common-questions]
Past sessions cannot be edited directly. Use manual time adjustments to add or remove time and include a note for context.
The timer start time is recorded on the server. Even if your computer sleeps, the full elapsed
time is calculated when you stop the timer.
Yes. The timer works regardless of whether an hourly rate is set. The hourly rate is only used when converting a task to an invoice line item.
***
## Related Topics [#related-topics]
* [Task Management](/docs/tasks) - Overview of task features
* [Creating Tasks](/docs/tasks/creating-tasks) - Set up tasks with hourly rates
* [Converting Tasks to Invoices](/docs/tasks/task-to-invoice) - Bill clients for tracked hours