Products group together generalities/commonalities for one or more variations, allowing them to be presented such that the customer may pick from the available variations. They aren’t directly sellable.
Variations are the sellable items (SKU) and are responsible for storing specifics, such as stock, price and differentiating attributes such as size/colour.
Sets are for presenting two or more products, so a customer may conveniently select from the associated variations and purchase them together.
Bundles present two or more specific variations be purchased together by the customer, with optional discount applied.
Products, sets and bundles are assigned to categories.
- Set (optional, sellable)
- Product (non-sellable)
- Variation (sellable, at least 1 per product)
- Barcode (non-sellable, at least 1 per variation)
- Variation (sellable, at least 1 per product)
- Product (non-sellable)
|Contains||Variations||Barcodes||Products or Bundles||Variations||Products
|Parent||Set (optional)||Product or Bundle||-||-||-|
|Examples||T-shirt||XL Red T-shirt||Suit
These are sellable/stocked items. They represent the level within Fusions that pricing and stock information is held, along with whichever other attributes make sense for logistical or enrichment purposes.
They're called variations, because most products have variants based on size, colour, quantity, quality and so on - which typically affect pricing.
- A bottle of water (product) may be sold in 500ml, 1l, 2l variations
- A polo t-shirt (product) may be sold in Small Red, Small Blue, Medium Red etc. variations
All variations within a product share common attributes, such as brand, description, specifications.
General details/attributes are held at the product level, only those specific/unique to the variation should be stored against them.
This means that, for simple products, details/attributes are split between product/variation which can seem counter-intuitive at first, but is the optimum way for a system to manage all scenarios sensibly.
One colour and multiple sizes
GEM103 Red top
- G000000006 Red, Small
- G000000007 Red, Medium
Multiple colours and multiple sizes
Single style, with colours combined into one product:
GEM104 Polo shirt
- G000000008 Red, Small
- G000000009 Red, Medium
- G000000010 Blue, Small
- G000000011 Blue, Medium
Alternatively, the same style as above, but with colours split between two products. For example, to show more products in search results on a website front-end only able to present simple products:
GEM105 Red polo shirt
- G000000012 Red, Small
- G000000013 Red, Medium
GEM106 Blue polo shirt
- G000000014 Blue, Small
- G000000015 Blue, Medium
One colour and one size
- G000000016 Silver, One Size
Two or more products optionally purchased together (without discount) where the customer picks the variations. No quantity is specified in Fusions.
No attributes are specified, but category and description are. Products typically complex, but simple allowed – just means the customer is clearly shown that only one variation is available
A suit contains jacket and trouser products. Those products are individually setup with their size and colour variations (which a customer may pick from) giving the following overall structure and relationships:
- V000000001 Black, Medium
- V000000002 Black, Large
- V000000003 Black, 30
- V000000004 Black, 32
- V000000005 Black, 34
- PRD101 Jacket
New sets can be created by importing a CSV file containing the name in the first column, followed by product IDs to be included in subsequent columns. See example.
These allow two or more variations to be grouped together as one sellable item. An included quantity per variation must be specified, along with category and description.
Optionally, the price of a bundle can be influenced – either by an amount/percentage discount, or by specifying a fixed price.
Bundle components can be either:
- Visible: where the components can be purchased individually – for example a Black Games Console and Game bundle saves the customer £10 (but they can’t pick the white console)
- Hidden: where the components can’t be purchased individually – for example a Wardrobe bundle containing 1x Carcass and 2x Door
Bundles don't have attributes.
New bundles can be created via a CSV import which, as per the example, contains the name in the first column, followed by the variation IDs to be included in any subsequent columns.
These are nested within each other to form a hierarchy/tree of categories.
Items (products, sets and bundles, but not variations) are assigned to categories, with one assignment for the item being its primary category, and any further assignments classed as additional categories.
Rules can be configured by manager users to automatically assign products into categories. For example:
- Sale: products where one or more variations have both a previous and a current price are auto-assigned to Department \ Sale
- New: stocked products with Approved/Published status, that aren't auto-assigned to Sale are auto-assigned to Department \ New for X non-consecutive days
- Attributes: (coming Mar-Apr 2017!) products where the type is Hat and the size attribute value is XXXL, are auto-assigned to Hats \ Plus sizes (if multiple attribute values are specified, they must all match)
Individual products can be excluded from Sale/New auto-assignments, via checkboxes on the product details page.
To apply the Attribute rules, run the Process Auto-assignments task (or schedule it to run every evening for example) which will produce a report of:
- Assigned products: new products matching an existing rule, or existing products qualifying for new rules
- Unassigned products: that were previously auto-assigned, but no longer qualify
Where products have been manually assigned to the category specified by a rule, auto-assignment is skipped. This ensures those manual assignments remain in place should auto-assignment rules change.
Values for existing categories can be updated with a CSV import in a specific format, but new/unknown categories are ignored.
13 digit (twelve, plus a check-digit) UPC’s are the lowest level of information stored in Fusions.
Barcodes sit within a parent variation, however only one barcode in the same variation can be considered active.
A barcode history is maintained for variations, allowing barcodes to be moved/reused while keeping an audit trail.
Sanitisation and validation
During imports, the check digit is either appended or calculated if unavailable and leading zeros are removed.
Before and after examples:
1234567890129(check digit appended)
1234567890129(check digit calculated)
1234567890129(trimmed leading zeros)
Sanitised barcodes that are too long (123456789012345) are typically ignored by Fusions.
Imported photos can be automatically associated with variations, products, sets and bundles.
When viewing the product details page, you’re able to change the default photo for a product. This decides the primary photo, secondary photos, plus any video/panorama movies to be associated with the master product.
The Photos section is used to help manage photography requests in three states:
Editingproducts with non-zero transit/delivery stock that haven’t already had a photo requested. A size is chosen for each product, and they move to the ‘Requested photos’ page
Excludedproducts that have had a photo requested, but the photo has not yet been received. When it is, the item will automatically move to ‘Received photos’, and any outstanding photography requests for the same product will be cancelled.
Excludedproducts that have received a photo and need manually approving by way of assigning to a new or existing product
Photo requests are automatically removed from the Requested photos list once a product has received a photo.
Requests for set/bundle photography currently need to be made outside this process, but are automatically associated along with the others.
Ranges group variations that you're intending to launch together. This allows managing the launch readiness by viewing stock availability.
Availability percentages are calculated as:
- Current availability: percentage of variations having stock
- Launch availability: percentage of variations having 'allocation expected' date at least N days before the range 'current launch' date
Variations marked as cancelled are excluded from these figures.
Click 'Export' on the Ranges page for a CSV file to analyse the data in detail, or to make changes before importing back into Fusions.
Only updated information is applied, no new ranges are created.
Items in Fusions use a workflow process to determine their status.
Current and previous status/problem are shown on the item listing and details pages
The status of an item is controlled manually as the item progresses through Fusions, though a number of automatic status changes can take place - examples.
Each status can have a prioritised checklist of requirements that must be satisfied to progress into that status.
Automatic status changes
Whilst the status of an item is normally changed by a user as the item progresses through Fusions, a number of automatic status changes can take place
- Draft to Editing when manually saved for the first time, or when assigning a photo to a new product via the Received Photos page
- Approved to Published once sent to front-end
- Published to Editing if it no longer passes the minimal checklists
- Archived to Editing when stock arrives
Items can move to Archived based on auto-archiving rules
To update many items at once, there are two options depending on the complexity of your needs:
- Update a single attribute to the same value - the Bulk changes tool is the quickest and easiest option
- Update multiple attributes with different values - a Bulk export/import lets you manage this
- Collate changes offline, perhaps over several days - a Bulk export/import gives you that flexibility
Bulk changes tool
When listing products/variations/sets/bundles, tick individual items you want to change, or the top-left All checkbox to select everything matching your chosen filters.
Then click Next... below them to view available updating options.
When listing variations only, tick individual items you want to change, or the top-left All checkbox to select everything matching your chosen filters.
Then click Export above them. Only variations where the product has a type will be included. Admin users can restrict the maximum number of items per export via the task safety net.
The exported CSV file will contain, for each variation:
- Variation ID (read-only)
- Product ID (read-only)
- Product title (128 characters)
- Variation name (128 characters)
- Type (read-only, as affects attributes)
- Product description
- Searchable flag
- Product primary category ID
- Product additional category IDs (first eight only)
- Type scoped attributes
- Variation scoped attributes
Attributes have a few simple rules that are helpful to know:
- They're ordered by attribute ID, and named in the heading columns, so they're easy to find when there are many
N/Ais used when a type scoped attribute doesn't apply to the variation, or when a variation doesn't have a value for variation scoped attribute
- Headers (
ATid and Name) are read-only
Values can be updated in a spreadsheet application, before saving as a CSV file and uploading back into Fusions via the Import button on the variations page.
Changes are validated before being applied. A correction screen allows unknown attribute values (where the attribute has a pre-approved list) and category IDs to be amended.
When an import file contains multiple variations for the same product, the product title and product description of the last variation row will be imported to the product.
- Entering "DELETE" (or "N/A") for an attribute value causes the attribute to be updated to blank in Fusions
- Attribute columns can safely be removed and will be ignored by Fusions - handy for keeping large CSV files focused on the attributes you're working with
During the enrichment process, it can be helpful to comment on important current issues or next steps.
These raise awareness for other team members, and act as reminders to yourself. As such they're displayed immediately when viewing product, set or bundle detail pages.
Once a comment is no longer considered current, it should be marked as resolved to avoid alerting people to outdated issues.
The last fifty comments can be viewed on the Dashboard, allowing you to easily catch up on recent activity and discussion.
Users typically resolve comments themselves, but can overlook doing so once items reach Approved/Published statuses.
Within Settings, the Comments page shows up to a hundred items having the oldest unresolved comments. Comments for each item are listed from old to new - allowing admin users to quickly make relevancy judgements and bulk resolve.
Fusions runs data processing tasks throughout the day, both:
- Managed: bespoke code written and maintained by Fusions to integrate with third party systems specific to your business
- Background: system code that responds to users requesting intensive data processing, such as CSV exports or bulk changes
Admin users can configure managed tasks, including:
- Scheduled Time: when you need the task to automatically run
- Notes: should describe what the task does, visible to all users
An attribute contains a list of appropriate values, with the attribute then associated with one or more types.
Per associated type, an attribute is either required or optional. Required attributes mean a value has to be set before the product can go online.
defined_alpha: Pre-defined (sorted alphanumerically)
defined_manual: Pre-defined (sorted manually)
colour_alpha: Colour (sorted alphanumerically)
colour_manual: Colour (sorted manually)
free_single: Free-text (single line)
free_multi: Free-text (multi-line)
The scope of attribute determines where and how it’ll be used.
Variation scope attributes are especially important as they define the uniqueness of a variation within a product. They allow multiple variations in a product with identical variation-scoped attributes to be treated as being the same, and then grouped up.
Fusions only considers the variation in a group with the most stock as being online. For example, items may have
size setup as variation-scoped attributes. This allows multiple stock items for the same Red Small T-shirt (for example, when supplied by different manufacturers) to be grouped.
Most attributes ask the user to input/select a single value, for example Brand. Occasionally an attribute may be needed that allows multiple values to be selected, such as Washing Instructions where 'Hand wash' and 'Cool iron' may both be appropriate.
You may specify the default tag for
boolean pattern type attributes, as long as they are not set to allow multiple selections. These changes will be applied to all future items as and when they are saved (e.g. via the user interface by a user, via a task etc.). Should you need to affect items immediately you should use the bulk changes feature.
When exporting attribute data that needs to match up with a reference in another system, an external reference can be held for each attribute. Export Reference is the
attribute-id value for a
<custom-attribute> element when tag values are to be exported for the attribute (default behaviour).
Extra columns (up to a maximum of 20) can be added to the attribute values import to add aliases (corrected from values), as seen in the example.
To create a new attribute you should leave the ID column blank. Fusions will assign the new attribute an ID when it is created. Any row with a valid attribute ID in the ID column will be updated.
Note: attribute IDs below AT300 must not be used, and are reserved for system use.
System attributes are required by Fusions and cannot be deleted. They can be enriched by users but some of their properties are protected on the Attribute settings page and cannot be changed.
Protected attributes are intended for use only by system / integration tasks. They cannot be enriched by users but are displayed read only on item edit pages. Some of their properties are protected on the Attribute settings page and cannot be changed.
We support the latest web browsers available (for vendor-supported operating systems) along with the previous browser version for six months, unless security needs dictate otherwise.
This means recent versions of Chrome, Firefox, Safari, Opera and Edge are all supported. Internet Explorer (IE) is not supported.
To ensure uninterrupted web browser access, the following domain names must be whitelisted within your network:
If you require the specific (rather than wildcard) domains for your account, please contact Fusions support.
All connections and data transfers are encrypted by default, since only SFTP (and not FTP) is available to use within Fusions:
- Uploads happen as soon as files are exported (we check every minute)
- Downloads happen every ten minutes (providing there are new files)
Fusions will always connect using the SFTP host name, ensuring any failover of primary to DR (Disaster Recovery) IP address is respected. You should ensure the DNS record for the host name has a suitable TTL in place.
Firewalls and environments
We recommend servers be placed behind a firewall, only allowing connections from the specific environment IP addresses shown on the connection details page. Additionally, to prevent connection issues:
- If host fingerprints are used (two-way SFTP verification), these must be installed identically on both primary and DR SFTP servers
- If a non-standard port is used (i.e. other than 22), please request that Fusions support open their outbound firewall to both your primary and DR IP addresses
Fusions also has built-in safety checks to prevent a staging environment uploading to a production server for example; each connection is locked down to only connect from specific environments.
To allow secure automated connections, authentication must be with a self-managed and installed key pair, and not a password.
To enable two-way verification, please securely send Fusions support the SFTP servers own public key, not to be confused with the public key from Fusions.
Retries and alerts
To allow for minor server connectivity issues, logins/transfers will be retried five times, with successively longer pauses between, before an alert is raised.
Files already downloaded by Fusions are skipped, and uploads are prevented from being uploaded again.
Newer file logic
Fusions has two methods to decide if a given file should be transferred and processed by a task. This is managed by the task to maintain a consistent approach across all processing, sftp transfers and manual uploads for any given task. This can be controlled on the task config page using the "Sequential File Numbers" checkbox.
Sequential File Names (Default) Fusions assumes that each file to be consumed by a task will have a newer filename than the last (determined by a combination of timestamp and sequence number). Fusions will skip any files that are not newer.
Non Sequential File Names Fusions records the name of each consumed file. Fusions then only transfers files that have not been processed before.
Before switching from one method to another, we recommend reviewing files on the SFTP server to ensure Fusions does not start processing a large backlog of previously ignored files.
Archiving can be enabled from the transfer create / update page. You can specify a folder for Fusions to move files to after downloading.
It is the responsibility of the SFTP server owner to ensure secure and sensible permissions are in place to protect their files.
We recommend servers be locked down such that credentials only have read-only access to directories/files, other than when the environment must upload or move/rename files.
Fusions has no code or configuration options that allow server files to be deleted, and moving/renaming requires admin users to explicitly enable that option.
Connection keys (RSA key pairs) are used to securely connect to your SFTP server. They're managed from the Settings > Connection keys page within Fusions.
Creating a new connection key
From the connection keys page click Add Key, enter a name and click Create.
New key pairs are securely generated and stored on Fusions servers.
Installing and using a connection key
From the connection settings page, admin users can select which connection key Fusions should use to connect.
The desired public key should be downloaded and installed on the SFTP server and associated with the credentials.
Once installation is confirmed, use the "check" feature to verify that Fusions can connect. If successful, select the radio button to make the new key active, and press Save.
Rotating a compromised connection key
Occasionally, connection keys are flagged by Fusions as compromised, typically when an employee (who may have had access to the key) leaves.
A key may also be marked as compromised from the connection key edit page. The key will be clearly marked as compromised, but will remain in use until it has been replaced with a new key.
Compromised keys should be replaced with a new key as soon as possible. It's your responsibility to:
- Create a new connection key
- Arrange installation of the new key on each SFTP server that needs to use it
- Once installation has been confirmed, make the new key active for each connection that needs to use it
- Delete the old compromised key once it is no longer in use
Deleting a connection key
If a key is still in use you will not be able to delete it. In this case a list of connections using a key will be displayed on the key details page.
When a key is no longer used by any connections it can be deleted.
When SEO fields for products, sets, bundles and categories are empty, they’ll be automatically generated from the templates shown on the Settings > SEO templates page.
SEO fields can also be manually edited, and for categories, imported via a CSV file.
Admin users can create and manage users, choosing from four roles which control the level of access:
- Restricted: Manage products, variations, barcodes, sets, bundles, ranges and photos.
- Standard: All restricted privileges plus categories, tasks, logs, downloads, dashboard, delivery codes and non-settings import/export
- Manager: All standard privileges plus settings management and the ability to delete products, variations and ranges
- Admin: All manager privileges plus users and alerts management
Fusions PIM Limited ('Fusions') only have customer contracts with businesses, not individuals. We balance security, business needs, usability and legal regulations — such as the EU's General Data Protection Regulation (GDPR) — to respect the privacy of individuals who interact with our company/software via our customers.
We help our customers meet their legal obligations where they use Fusions software as a data processor of their user accounts, which are made up of:
- First and last name
- Email address (expected to be owned by the customer, not the individual)
- Password (securely hashed)
- IP address at login (expected to be owned by the customer, not the individual)
Customers may (at any time) use the software to:
- Correct the name and email address for a user
- Delete a user's details (providing this wouldn't leave audit trail data incomplete)
- Redact the name and email address for a user (if deleting isn't an option)
- Opt-in/out users to receive non-marketing email alerts (sent automatically when significant errors or issues occur)
Since ‘an employer does not need consent to use your work email address’, we don't gather explicit consent for email alerts, or other system/transactional emails such as password resets.
Users (individuals) may (at any time) use the software to:
- View their name and email address (with guidance on amending)
- Amend their password
- Opt-in/out to email alert notifications
As data processors, we don't provide users with direct access to view/export data associated with their account. Our customers, as data controllers, are expected to consider any such request and instruct Fusions via standard support mechanisms.
User data (including prior to amending/deleting) will be retained in backups until automated expiry policies delete the data permanently.
To do business with our customers, we're a data controller for limited information relating to their employees and suppliers, including:
- Analytics — names, email addresses, web browsers, IP addresses, click history and screenshots are mandatorily and automatically captured while using our software (but not our website) and retained for one month (to aid with support queries)
- Communications — email and GitHub/Jira/Slack discussions are retained indefinitely
- Holidays and birthdays — key customer employees may be invited to share their personal holiday calendar to help manage support needs (this invite may be declined and entering a birthday is optional) and this calendar will be retained indefinitely
- Internal notes — these are necessary to ensure a record of decisions and agreements is accurately maintained (retained indefinitely)
- Invoices and billing information — to satisfy legal requirements (retained indefinitely)
- Newsletters — we don't currently send marketing emails or newsletters
- Social media — we only use Twitter, and any individuals we follow can manage the privacy of their own account
A subprocessor is a third-party data processor engaged by Fusions which has access to personal data. We provide notice of any new subprocessor by posting such updates here, so please check back frequently.
Fusions use a commercially reasonable selection process by which it evaluates the security, privacy and confidentiality practices of proposed subprocessors. The adequacy of each subprocessor used is demonstrated in the notes beside each entity listed:
- AWS — GDPR, ISO 27001 and Privacy Shield
- Dropbox — GDPR
- Fortrabbit — GDPR and Privacy
- FreeAgent — GDPR
- GitHub — Privacy Shield
- Google — GDPR, ISO 27001 and Privacy Shield
- Hotjar — Commitment to the GDPR
- JAM — Privacy
- Jira — GDPR and Privacy Shield
- LogDNA — GDPR and Privacy Shield
- OhMySMTP — Privacy
- PC2Paper — Privacy
- SolarWinds Pingdom — GDPR
- ScaleGrid — Privacy and Subprocessors
- Slack — GDPR and Privacy Shield
- Timetastic — GDPR
Please direct any queries to firstname.lastname@example.org. Fusions isn't required under GDPR to have a Data Processing Officer.