Skip to main content
Required permission: products
These endpoints use the legacy response format { success, data, message }.

List a branch’s products

Returns the active products with their unit of measure, category, and portions.

Get a product

Includes portions and components when the product has a composition.

Create a product

When you create goods with availability greater than 0, an inventory entry is recorded automatically.

Product taxes

Taxes are assigned with tax_ids. These are the taxes FileXpress uses to calculate taxes when the product is sold from the web, the POS, or the app.
tax_method: "is_taxed" only marks the product as taxable; it does not assign any taxes. Always send tax_ids with at least VAT (IVA) on taxable products. Without it, VAT is not calculated when the product is sold from the web or the POS.
1

Get the branch's taxes

Returns the taxes of the branch’s country. is_default: true marks the main tax (VAT in El Salvador).
2

Send their IDs in tax_ids when you create or update the product

Rules
  • Only taxes from the country of the product’s branch are accepted; an invalid ID returns a validation error.
  • On creation, if you don’t send tax_ids, the product has no taxes.
  • On update, if you don’t send tax_ids, the current taxes are kept; if you send [], all of them are removed.
  • Product responses include taxes with the assigned taxes.

Product with portions

With composition_type: "with_portions", base_unit_quantity and base_unit are required:

Product with a recipe

With composition_type: "with_recipe":

Update a product

Accepts the same fields as creation, including tax_ids. If availability changes, an inventory adjustment is recorded. If composition_type changes, the previous portions or components are replaced.

Delete a product

Soft delete: the product no longer appears in listings.