A customer group helps you organize similar customers. Customer-specific fields supplement customer information, and discounts or margins can affect the calculation of product and other work costs, as well as offer pricing. Group membership does not itself give a customer a discount: changing the group and changing discounts are separate actions.
Configure these settings on the Customers page in the browser version. Creating a group requires permission to create customers, editing group and customer details requires permission to edit customers, and deleting a group requires permission to delete customers. Editing and deleting discounts requires permission to edit customers. Viewing information requires permission to read customers.
Create a customer group and select its customers
- Open Customers → Customer settings → Customer groups. Select Create new customer group. To open an existing group, click its name or the pencil icon on its row.
- On the Basic info tab, enter a Name and, if needed, a Description. The name is required, can contain up to 512 characters, and must not already be used by another group.
- Open the group's Customers tab and select Add new customer. Select existing customers using the plus icons in the dialog's Select column. Clicking the checkmark beside a selected customer deselects that customer.
- Select Save in the dialog. This returns the membership selections to the group form; it does not save the group yet.
- Finally, save the group form with Create new customer group, or save changes to an existing group with Save.
A customer can belong to one group at a time. Adding a customer to another group replaces their previous membership. You can also remove a member using the trash icon on their row on the group form's Customers tab. Save the group form afterwards. Removing membership leaves the customer without a group; it does not delete the customer from the register.
You can also select a group in the Customer group field on the Basic info tab of the customer edit form. Open the form from the Customers page's datatable by clicking the customer's name or the pencil icon on their row. After saving, check the customer's group in this field or reopen the group's member list.
Deleting a group using the trash icon on its table row prompts for confirmation. Deletion is blocked if the group contains customers. Move the customers to another group or clear their group selections, and save the changes before deleting the group.
Add custom customer fields
Open the Basic info tab of the customer edit form and its Customer attributes section. Select New customer attribute. Search for and select an existing attribute in the Header field; simply typing a header does not create a new attribute.
Enter a Value and, if needed, a Definition. How you enter the value depends on the selected attribute: it may use a text, number, date or selection field. The value can contain up to 512 characters and the definition up to 1,024 characters. Add any other fields you need and save the entire customer form. Reopen the customer and check the headers and saved values.
The trash icon on a field row removes that customer's field when you save the form. It does not delete the shared attribute. If a suitable attribute does not exist, see creating and importing attributes.
On Android and iOS, you can view saved customer fields in the Additional information section of the customer details view. On iOS, you can open the section by tapping its heading or expand arrow. Android hides the section if there are no fields. Configure the groups, fields and discounts described in this guide in the browser. For instructions on opening customer details, see the customer details guide.
Set a customer discount or product margin
From the Customers page, open the customer edit form and its Discounts tab. This tab is not available in a customer form embedded in a folder. Select the appropriate section:
- Discounts on other costs: select Add a discount for other costs. The discount applies to other work costs recorded for a task or service request.
- Product discounts & margins: select Add a product discount or Add a product margin. Configuring these requires the product and warehouse feature to be enabled.
Click the cells in the added row to edit them. Enter Discount % or Margin %, Start time, End time and, if needed, Additional info. Both times are required. On the standard customer form, the end time must be later than the start time. The permitted percentage range is 0–100. Other costs require a discount percentage; a product row must contain either a discount or a margin, but not both.
The first row added defaults to 10 percent and a period from January 1 at 00:00 to December 31 at 23:00 in the browser's current year. If rows already exist, the row with the latest end time determines the year suggested next: the new period falls in the calendar year following the year in which that row ends.
The percentage and additional information are also taken from the row with the latest end time. Its discount percentage is copied to a discount row, and its margin percentage to a margin row. If the relevant percentage is missing or zero, 10 percent is suggested. The system does not look for an earlier row of the same kind: for example, a new discount row following a margin row may default to 10 percent even if an older discount row has a different percentage.
Check the suggested values. The date columns do not show the time of day, and the default year-end time does not cover the final hour.
Periods of the same type for the same customer must not overlap. A shared boundary also counts as an overlap: the next period cannot start at exactly the previous period's end time. Product discounts and product margins belong to the same type, so they cannot be configured for the same time on separate rows. A discount on other costs can be active at the same time as a product discount or margin.
Save the entire customer form. You can edit an existing row or delete it using its trash icon, then save. When a discount expires, its configuration row remains, but it is no longer used in subsequent calculations. Deleting the row removes the configuration.
When is a discount active?
The discount is selected using the current time at the moment of calculation, in the time zone of your Spotilla account. Both the start and end times are included in the validity period. A historical work date or a separately entered completion date does not select a past discount. Although the form's help text describes the discount in terms of a period for completed work, the decisive check uses the current time at the moment of calculation.
Calculations for tasks and service requests use the first customer linked to the work. Discounts from multiple customers are not combined. If an expected discount is missing, also check the customer linked to the work.
How does a discount affect cost and sales price?
A product discount deducts a percentage from the sales price in the product register. For example, a sales price of €100 with a 10 percent discount gives €90 per unit. A product margin adds a percentage to the purchase price in the product register: €80 × 1.25 = €100. Here, margin means a percentage added to the purchase price, rather than a profit margin calculated from the sales price.
The customer-specific product rule requires a discount or margin percentage greater than zero and a starting price greater than zero. A zero percentage does not produce a price through this rule. A 100 percent discount on a positive sales price produces zero. The calculated unit price is rounded to two decimal places. For product costs, rounding takes place before multiplying by the quantity used: for example, €9.99 with a 15 percent discount gives €8.49 per unit and €25.47 for three units.
Rule order for product costs
Saving a discount alone does not apply it to product costs. The user responsible for settings must check Settings → Product and warehouse feature settings → Product Cost Pricing. For the customer-specific adjustment to apply, Enable waterfall rules must be selected and the calculation must reach the Customer product cost adjustment rule.
The first valid cost in the waterfall determines the result; zero also stops the calculation. For example, if an earlier Customer price table or purchase price rule produces a result, the customer discount is not applied on top of it. By default, the waterfall is disabled and Cost pricing method is Sales price, so the product's sales price is used as the cost without this customer rule. If none of the applicable rules produces a cost, the product cost for the work may be zero. See also how inventory value and product cost price are determined.
Rule order for sales prices
The same customer product discount or margin can affect the separate sales price calculation in offers and in products on tasks and service requests. The preliminary price shown on the browser form and the price saved on completion may differ if the source data or the active discount changes.
The sales price order is under Settings → Offer settings → Offer Pricing → Sales Price Calculation Waterfall. The customer rules are Product Price with Customer Discount % and Product Price with Customer Profit Settings; the latter uses the margin added to the purchase price as described above.
In sales price calculations, the first result greater than zero wins. The first rule in the default order is Base Selling Price (Product), so a positive base selling price takes precedence over a later customer discount. A zero price resulting from a 100 percent discount does not stop rule processing in this calculation.
If no rule produces a positive price, the fallback price is calculated as net price ÷ (1 − default sales margin / 100) and rounded to two decimal places. This requires a positive net price and a default sales margin below 100 percent; otherwise, the result is zero. Default Sales Margin (%) is in the same Offer Pricing settings and defaults to 20%. For example, a net price of €80 and a default sales margin of 20 percent give a sales price of €100. This margin calculated from the sales price differs from the customer's product margin added to the purchase price.
A custom unit price entered for a product on the work overrides the sales price calculation when custom pricing is allowed.
Offer net price and other costs
An offer's automatic Net price uses the same product cost calculation with the customer selected for the offer. A customer discount or product margin can therefore also change the net price if the cost calculation reaches the customer rule. Net price is the unit cost used to calculate the offer's profit margin; it does not mean the sales price after discounts. The customer rule can affect both the sales price and the net price, so check both and the resulting profit margin.
The separate Disc. % on an offer row is its own discount. Select the customer before pricing products, and check the prices on existing rows separately if you change the customer. Offer row pricing and profit margin calculations are described in creating and pricing an offer.
Cost and sales price are saved as separate values. A customer discount does not change the purchase or sales price in the product register, and the total on a cost row does not by itself determine the amount to invoice. Check the invoice prices and rows separately. For instructions on configuring a customer price list, see creating a price list and linking customers.
A discount on other costs deducts a percentage from the cost row's unit price before multiplying by the quantity. For example, two units at €50 with a 10 percent discount give €90. The original unit price remains on the row, and this calculation does not apply the unit price rounding used by the customer-specific product rule. If the row is recalculated when there is no longer a customer or an active discount, the discount information is removed and the total returns to the quantity multiplied by the original unit price.
A discount on other costs does not automatically apply to hourly costs, travel reimbursements, daily allowances or a Spot's separate device costs. See adding other work costs and device costs.
Edit configurations in the shared Discounts table
The separate Discounts tab on the Customers page shows customers with discount configurations. Expand the rows beneath a customer using the arrow beside their name. A customer with no configurations does not appear in this list; start their configuration from their own customer form or the customers datatable.
Double-click a configuration row's Discount %, Margin %, Start time, End time or Additional info cell. The change is submitted for saving as soon as you finish editing the cell. You do not need to use the customer form's separate Save button.
On a product row, entering the other percentage type also clears the percentage type previously entered: for example, entering a margin may remove the row's discount percentage. You cannot enter a margin for other costs. Check both percentage columns after making a change.
A successfully saved cell briefly flashes green. An error highlights the cell and displays an error message. A new value displayed in the cell alone does not confirm that it was saved: correct any error and reopen the customer details to verify the saved value.
The trash icon on an individual configuration row prompts for confirmation and deletes the configuration immediately after confirmation. This deletion does not wait for the customer form to be saved either.
Change discounts for multiple customers
You can add discounts in bulk in the customers' Datatable view on the Customers page: select the customers' checkboxes and open the Actions menu in the header of the table's selection column. Select Add a discount for other costs or Add a product discount. The product form also lets you add margin rows. Fill in the plan and save.
Replace existing discounts with this plan deletes all previous rows of the selected type for each selected customer, including past and future periods. For the product type, this means both discounts and margins. The other cost type is retained. Without replacement, previous rows remain, and new rows that overlap or are otherwise invalid are not created.
To change multiple existing configuration rows, go to the shared Discounts tab. Select the checkboxes for discount or margin rows and choose Actions → Update selected in the header. Do not mix customer rows and configuration rows in the same selection. Discount and margin rows must be updated separately.
Fill in only the fields you want to change: the same values are applied to all selected rows, and empty fields do not clear existing information. A zero percentage is submitted as a change. Bulk updates allow identical start and end times, although the standard customer form requires the end time to be later. The prohibition on overlapping periods still applies to bulk updates.
Delete selected in the same Actions menu deletes the selected configuration rows after confirmation. Percentages on zero-percent rows appear blank in the tables, and bulk selection may interpret them incorrectly; if necessary, handle such a row on the customer's own form and verify that it was saved successfully.
Bulk additions, updates and deletions run in the background. The notification that processing has started does not confirm that all rows have been saved. Processing can succeed partially: one row's failure does not undo successful changes to other rows. During replacement, old rows may be deleted even if a new row fails to save.
Verify the saved changes and their effect on work
After processing, reopen the Discounts tab on each modified customer's own form. Check the type, percentage, periods and additional information, and make sure that replaced or deleted rows have been removed.
A discount on other work costs is calculated when the row is saved and again when the work is completed. Product cost and sales information is generated on the server during completion processing using the calculation rules in effect at that time. This also applies to products recorded for tasks or service requests on Android and iOS.
Changing, expiring or deleting a customer's discount does not itself update previously saved cost rows or the report totals based on them. Check the effect in the relevant task's or service request's Work costs view, and compare the cost separately with the sales price. If the result differs from what you expected, check validity at the time of calculation, the first customer linked to the work, the starting price, quantity and rule order. See viewing hours and work costs.