# catalog

> Reference for the catalog tool of Geenius MVP: products, variants, stock, collections, VAT and CSV, with every action.

Source: https://mvp.geenius.io/docs/reference/catalog/

Products and services of one workspace. A shop sells its own products once it has any, otherwise the workspace's shared ones. Amounts are in the currency's major unit, two decimals at most; slugs and SKUs are unique.

Call it as `geenius_mvp(tool: "catalog", action: "<action>", args: {...})` through Geenius OS.

## Actions

| Action | What it does |
|---|---|
| `add_to_invoice` | Add products as lines to a draft invoice or quote (depends on Geenius OS Invoices). |
| `collection_assign` | Put products into a category or collection, or take them out. |
| `collection_remove` | Delete a category or collection. |
| `collection_save` | Save a category or collection. |
| `collections` | The categories and collections with product counts. |
| `create` | A new product. |
| `export_csv` | The CSV text, one row per variant. |
| `export_file` | The CSV export filed in Files. |
| `get` | One product in full, with its pictures' addresses. |
| `import_csv` | Import products from CSV. |
| `invoice_lines` | What can go on an invoice: net unit price and VAT rate per variant. |
| `list` | Product summaries and counts per status. |
| `remove` | Delete a product for good. |
| `site_section` | A products grid on a website. |
| `sku` | The variant with that SKU and its product. |
| `status` | Set a product's status: draft, active or archived. |
| `stock` | Set or change a physical variant's stock. |
| `update` | Change a product. |
| `validate` | The problems of a product with paths, nothing stored. |
| `variants` | Make every combination of options as variants. |
| `vat` | The VAT rates per tax class: NL 21/9/0, DE 19/7/0. |

> [!TIP]
> Ask for the exact arguments of any action with `action: "help", of: "add_to_invoice"`. The server answers from its own definitions, so that answer is always current.

> [!NOTE]
> Pictures and downloads take https addresses. Archive is undoable; deleting for good is for the maker or an owner or admin.

