# Product and Service Catalog

Create and manage your reusable product and service catalog. Frihet allows you to quickly add lines to invoices without re-entering details each time.

## Create Product or Service

### Access

Go to **Products > New product** or from the invoice panel, click **+ Product** while editing.

### General Data

Complete the basic information:

-   **Name**: Clear description (e.g., "Strategic consulting", "VPS Hosting")
-   **Description** (optional): Additional detail visible on invoices
-   **SKU**: Unique code (e.g., CONSULT-2026, VPS-BASIC)

The SKU is internal to your organization. Frihet generates an automatic one if you don't provide it.

### Price and Taxation

-   **Unit price**: Price without taxes (taxable base)
-   **Tax type**: VAT, IGIC, IPSI or Exempt
-   **VAT rate**: 21%, 10%, 4% or other (configurable per product)
-   **IRPF rate**: If retention applies (e.g., 15%, 19%, 21%)

Example for "Consulting":
```
Price: 1,000 EUR
VAT: 21% (210 EUR)
IRPF: 15% (150 EUR taxable base)
Total to client: 1,210 EUR (1,000 + 210 - IRPF is calculated at settlement)
```

### Category

Group products for reporting and analysis:

-   Professional services
-   Software licenses
-   Hosting and infrastructure
-   Physical products
-   Training
-   Others

You can create custom categories in **Settings > Product Categories**.

### Unit of Measure

Specify how it is sold:

-   **Unit**: Discrete quantity (1, 2, 100 units)
-   **Hour**: For time-based services (10 development hours)
-   **Day**: Projects per day (5 consulting days)
-   **Month**: Subscriptions (3 months of hosting)
-   **Custom**: Define your unit (e.g., "session", "page")

## Edit Product

1.  Go to **Products**
2.  Select the product
3.  Click **Edit**
4.  Modify fields
5.  Click **Save**

Changes apply to:
-   New invoices from now on
-   Draft invoices (updated if you refresh)
-   Finalized invoices: do not change (history preserved)

## Archive and Restore

### Archive Product

If you stop selling a product but want to keep the history:

1.  Select product
2.  Click **More > Archive**
3.  The product disappears from the invoicing list
4.  History is preserved

### Restore

From an archived product:

1.  Go to **Products > Archived**
2.  Select product
3.  Click **Restore**
4.  Returns to active list

## Delete Product

If you need to delete a product (e.g., duplicate):

1.  Select product
2.  Click **More > Delete**
3.  Frihet warns if it has been used in past invoices
4.  If it has history, it only allows archiving (not deleting)

Products with associated invoices are **never completely deleted** (audit).

## Using Products in Invoices

### Add to Invoice

When creating an invoice:

1.  Click **+ Add line**
2.  Type the first letters of the product (autocomplete search)
3.  Select from suggestions
4.  Pre-fills: price, VAT, description
5.  Edit quantity and apply discounts if necessary

### Automatic Calculation

Frihet calculates:

```
Line: Strategic Consulting
Quantity: 3 days
Price: 500 EUR/day
Subtotal: 1,500 EUR
VAT 21%: 315 EUR
IRPF 15% (if applicable): -225 EUR
Line total: 1,590 EUR
```

### Usage History

On the product detail page you see:

-   **Used in X invoices** (number of documents)
-   **Total revenue**: Money generated by this product
-   **Latest invoices**: The 5 most recent documents where it appears
-   **Usage graph**: Monthly trend (e.g., growth/decline)

Useful for identifying star products vs. those sold only once.

## Import Products from CSV

If you have a catalog in Excel or another system:

### Prepare File

```csv
name,sku,price,vat,category,unit
Hosting VPS,VPS-BASIC,49.99,21%,Infrastructure,month
Consulting,CONSULT-H,120,21%,Services,hour
Software license,LIC-SOFT-2026,1500,21%,Software,unit
```

Minimum columns: `name`, `price`, `vat`

### Import

1.  Go to **Products > Import > CSV**
2.  Upload file
3.  Frihet automatically detects columns
4.  Validates prices and formats
5.  Warns of duplicates (by SKU)
6.  Click **Import**

Smart detection recognizes variations:
-   "Product name" = "name"
-   "Code" = "sku"
-   "Unit price" = "price"
-   "Tax" / "VAT Rate" = "vat"

## Export Catalog

### Simple CSV

1.  Go to **Products**
2.  Click **Export > CSV**
3.  Downloads `catalog-{date}.csv`

Includes all fields.

### Use Cases

-   **Backup**: Save backup regularly
-   **Share**: Send catalog to client or distributor
-   **Audit**: Record of historical prices
-   **Integration**: Import into ecommerce tools

## Search and Filtering

In the product list:

-   **Search by name**: Type and it filters in real-time
-   **Search by SKU**: Internal reference
-   **Filter by category**: E.g., "Only services"
-   **Filter by status**: Active / Archived

Example:

```
Search: "hosting"
Results: VPS Hosting, Shared Hosting, Hosting + Email
```

## Variants (Premium plan)

If a product has multiple versions (e.g., Hosting in 3 plans):

1.  Create base product: "Hosting"
2.  Add variants:
    -   **Basic Hosting**: 10 EUR/month
    -   **Pro Hosting**: 25 EUR/month
    -   **Business Hosting**: 50 EUR/month

On the invoice, select the variant directly without creating 3 separate products.

Configure in **Products > Variants** (Premium plan).

## Price Changes

### Update Price

If you increase a product's price:

1.  Edit product
2.  Change **Unit price**
3.  Save

**Effect:**
-   New invoices: new price
-   Draft invoices: update if you refresh
-   Finalized invoices: historical price does not change

### Price History

In the Premium plan, Frihet maintains:

-   Current price
-   Previous changes (with date)
-   Audit: who changed it and when

Access in **Products > [Product] > Price History**.

## Product Discounts

### Volume Discount

In the Premium plan, configure:

-   If client buys 10+ units: -5%
-   If client buys 50+ units: -10%

Discounts are automatically applied on the invoice.

### Client Discounts

Configure special price for recurring client:

1.  Go to **Products > [Product] > Special Prices**
2.  Add client: "Acme Corp"
3.  New price: 450 EUR (vs 500 normal)
4.  On Acme's invoices, it is automatically applied

## Digital vs. Physical Products

### Digital Products

Do not have stock or inventory tracking:

-   Software
-   Licenses
-   Services
-   Memberships

Frihet marks them automatically if you do not specify quantity.

### Physical Products

If you want to track inventory (Premium plan):

1.  Go to **Products > [Product]**
2.  Enable **Inventory Tracking**
3.  Specify **current stock**: 150 units
4.  When invoicing, stock is automatically decremented
5.  Alert if stock is low (< 10 units)

Access **Reports > Inventory** to view status.

## Common Issues

### "Product not appearing in search"

-   Verify that it is not archived (**Products > Archived**)
-   Search by SKU instead of name
-   Refresh page

### "Price changed on old invoice"

Price changes do not affect finalized invoices. Price is historical. This is by design (audit).

### "I want a different price per client and quantity"

In the Premium plan, use **Special Prices** for client + quantity.

In the Pro plan, adjust manually on each invoice (manual discount).

## Upcoming Improvements

We are developing:

-   **Images in catalog**: Upload product photo
-   **Bundling**: Offers with multiple products
-   **Automatic discounts**: By date, season, volume
-   **Ecommerce integration**: Sync catalog with Shopify/WooCommerce
-   **Inventory control**: Automatic reorder alerts
---
