phppos_list_locations
List locations
List the store's locations (shops/warehouses) with name, address, phone, email, time zone and default tax rates, plus each location's registers (id and name). Use the location ids to filter sales, expenses, customers and reports. Payment-processor credentials and device settings are never returned. GET /locations.
Parameterslimitoffsetsearch
phppos_list_items
List items
List or search inventory items with name, item number, category, supplier, prices and reorder level. Search by text, or by one field (name, item_number, product_id, supplier, tag_name...). GET /items.
Parameterslimitoffsetsearchsort_colsort_dircategory_idsearch_field
One inventory item by id: prices, tax settings, category, supplier, tags, attributes, variations, tier pricing and per-location settings. GET /items/{id}.
Parametersitem_idrequired
phppos_list_categories
List categories
List item categories with their ids. Use the ids to filter items or to file a new item. GET /categories.
Parameterslimitoffsetsearch
phppos_list_item_kits
List item kits
List item kits (bundles of items sold together) with their prices. GET /item_kits.
Parameterslimitoffsetsearchcategory_id
phppos_list_sales
List sales
List or search completed sales, by date range, customer (id or email) or location. verbosity: minimal (headline fields), medium (adds customer, totals, profit, location - the default here) or full (every line item, payment and tax). Suspended sales (layaways, estimates) are fetched with suspended_type. GET /sales.
Parameterslimitoffsetend_dateverbositystart_datecustomer_idlocation_idemail_addresssuspended_type
One sale by id with line items, payments, taxes, customer and employee (verbosity full by default). GET /sales/{id}.
Parameterssale_idrequiredverbosity
phppos_list_receivings
List receivings
List receivings (stock received from suppliers, purchase orders, transfers) with supplier, totals and items, by date range. GET /receivings.
Parameterslimitoffsetend_datestart_date
phppos_get_receiving
Get receiving
One receiving by id: supplier, items, quantities, costs and payments. GET /receivings/{id}.
Parametersreceiving_idrequired
phppos_list_customers
List customers
List or search customers with contact details, tier, store-account balance, credit limit and loyalty points. Search by text or by one field (email, phone_number, first_name, last_name, account_number). GET /customers.
Parameterslimitoffsetsearchsort_colsort_dirlocation_idsearch_field
phppos_get_customer
Get customer
One customer by person id: contact details, tier, tax settings, balance, credit limit, points, notes and custom fields. GET /customers/{person_id}.
Parametersperson_idrequired
phppos_list_suppliers
List suppliers
List or search suppliers with contact details, company, account number and balance. GET /suppliers.
Parameterslimitoffsetsearchsort_colsort_dirsearch_field
phppos_get_supplier
Get supplier
One supplier by person id. GET /suppliers/{person_id}.
Parametersperson_idrequired
phppos_list_employees
List employees
List employees with name, contact details, username, hire date, manager, commission and pay rate settings and assigned locations. Passwords and the permission maps are never returned. GET /employees.
Parameterslimitoffsetsearchlocation_id
phppos_list_invoices
List invoices
List customer invoices (money customers owe) or supplier invoices (money the store owes) with date, due date, status and amount. GET /invoices/customer or /invoices/supplier.
Parameterstyperequiredlimitoffsetsearchsort_colsort_dir
phppos_list_expenses
List expenses
List recorded expenses with type, description, date, amount, tax, payment type, category and location. GET /expenses.
Parameterslimitoffsetsearchsort_colsort_dirlocation_id
phppos_list_gift_cards
List gift cards
List gift cards with number, description, remaining value, customer and whether inactive. GET /giftcards.
Parameterslimitoffsetsearch
phppos_get_gift_card
Get gift card
One gift card by its card number (or id): remaining value, customer and status. GET /giftcards/{giftcard_number}.
Parametersgiftcard_numberrequired
phppos_list_appointments
List appointments
List appointments (bookings) with customer, employee, service, start and end time, optionally within a time window. GET /appointments.
Parameterslimitoffsetsearchend_timestart_time
phppos_list_reports
List reports
The catalog of the store's reports (138 of them: sales summaries, top sellers, inventory low/aging/summary, profit and loss, taxes, payments, employee, customer, supplier and store-account reports) with the inputs each accepts. Without `search` only the report keys are returned; with `search` (for example 'inventory' or 'profit') the matching reports are returned with their inputs. GET /reports.
Parameterssearch
phppos_run_report
Run report
Run one of the store's reports and return it (title, summary, detail rows); `paging.next_offset` is set when more detail rows remain. Report keys and their inputs come from phppos_list_reports (for example summary_sales, top_sellers, inventory_low, summary_profit_and_loss, summary_taxes, closeout). Typical inputs go in `params`: start_date, end_date, sale_type, location_ids (array), category_id, supplier_id, customer_id, employee_id. A scoped key needs the Reports module plus that report's view permission. GET /reports/{report_key}.
Parameterslimitoffsetparamsreport_keyrequired
phppos_create_customer
Create customer
WRITE: create a customer in the store. Store-account balance, credit limit and loyalty points cannot be set here. Needs a Read/Write API key. Retrying creates a duplicate (check phppos_list_customers first). The store's 'new customer' webhook, if configured, fires. POST /customers.
Parameterszipcityemailstatecountrytaxablecommentsaddress_1address_2last_namefirst_namerequiredcompany_name+3 more
phppos_update_customer
Update customer
WRITE: change fields of an existing customer; only the fields you pass are sent. Overwrites the current values. Needs a Read/Write API key. The store's 'edit customer' webhook, if configured, fires. POST /customers/{person_id}.
Parameterszipcityemailstatecountrytaxablecommentsaddress_1address_2last_nameperson_idrequiredfirst_name+4 more
phppos_create_item
Create item
WRITE: create an inventory item (name required). Stock quantities are not set here. Needs a Read/Write API key. Retrying creates a duplicate (search with phppos_list_items first). The store's item webhooks, if configured, fire. POST /items.
Parametersnamerequiredsizetagscost_priceis_serviceproduct_idunit_pricecategory_iddescriptionitem_numberpromo_pricesupplier_id+2 more
phppos_update_item
Update item
WRITE: change fields of an existing item (for example its price, category or active state); only the fields you pass are sent. Overwrites the current values, and a price change applies to the next sale. Needs a Read/Write API key. The store's 'edit item' webhook, if configured, fires. POST /items/{item_id}.
Parametersnamesizetagsitem_idrequiredcost_priceis_serviceproduct_idunit_pricecategory_iddescriptionitem_numberpromo_price+3 more
phppos_create_expense
Create expense
WRITE: record an expense in the store's books (description, amount and date). It affects expense and profit-and-loss reports. Needs a Read/Write API key. Retrying records it twice (check phppos_list_expenses first). POST /expenses.
Parameterscategory_idexpense_taxlocation_idexpense_dateexpense_noteexpense_typeexpense_amountrequiredexpense_reasonexpense_descriptionrequiredexpense_payment_type