Best Practices for Third Party Systems
GET Items
id
– This is the uniqueidentifier for the item. Since this is unique it is best that you save this in your system as the item reference instead ofsku
.sku
&upc
– In Yellow Dog, both of these can be used as scannable barcodes. If your system supports multiple barcodes, it is best to get sku and the UPC array. There is no limit on how many UPCs can be attached to an item in Yellow Dog.lastUpdated
– When a change is made to an item (such as aprice
,description
,upc
, etc.) thelastUpdated
field will reflect the last time the item was updated. It is recommended to pull items with thelastUpdated
filter. For example,filter=lastUpdated=01/01/2019
.description
– This is the long description of the item and usually has the most information. If your description field can hold up to 256 characters, it is best to use this. If you have character limitations, useposDescription1
active
– denotes whether an item is flagged as Active or Inactive in Yellow Dog. This is not the same as removed or deleted. Inactive items remain fully intact in the database and are typically used to move seasonal products out of their active inventory.stores
– Expand stores to get store specific informationpublish
– The publish flag determines whether or not the item should be published to the POSGeneric Interfaces
– store specific interface settings can be found here. If your system uses classes or groupings to determine tax rate, taxable (yes/no), reporting by groups (family groups, major groups), displaying item on touchscreen (yes/no or specific screen), etc. It is best to take advantage of these generic interfaces. There are 10 useable generic interfaces that can be manually created in Yellow Dog with a alpha/numeric code and a description. Using these eliminates the need for the end user to setup an item in Yellow Dog and your system.
Supporting an Inventory Integration for Point-of-Sale Systems.
Flow 1: Item Creation and Updates (For 2-Way Integrations)Preferred Method: POST via an endpoint in your API, Yellow Dog builds Sync Application
Alternate Method 1: POS Vendors consume our endpoints for Items.
API: https://yellowdogsoftware.com/ydapi
Item Endpoint: https://fetch.yellowdogsoftware.com/index.html#/Items/ApiV2ItemsGet
Alternate Method 2: POS Consumes csv file. https://help.yellowdogsoftware.com/generic-sync/Notes:Retail Items are NOT as complex as traditional menu items. They typically don’t go on any screens, don’t have different retail prices based on time, and don’t have modifiers. They are flat, static items that should be scanned to be added to a check. Some general search in POS would be helpful.
Yellow Dog Inventory can also automatically assign various POS Codes (Department, Category, Class etc.) to each item so that we can present a new item in a manner that handles the assignment/abilities/placement in your system automatically and does NOT require some additional mapping.
Flow 2: Sales Back to Yellow Dog (2-Way Integrations)Yellow Dog Inventory will need to get sales data to decrement inventory and capture transactional data.
We prefer to get ALL transactions. We have an ability to decrement items to any item sold at POS and not just the retail items we introduce. We also prefer to get as much detail on the transaction as possible to ensure our reporting is as detailed as possible.
Preferred Method: Webhook for sales data OR GET via an endpoint in your API
Alternate Method 1: POS Vendors consumes our endpoints for posting sales.
API: https://yellowdogsoftware.com/ydapi
Sales Endpoint: Here
Alternate Method 2: POS provides csv file.https://help.yellowdogsoftware.com/generic-sync/
Generic Sync
Alternate Method 3: POS provides csv file.https://help.yellowdogsoftware.com/1waysales
Sales Sync
Below is the potential universe for a complete 2-way POS integration.
Required *
- Item Add/Update: You need an API endpoint to receive new/changed items or you consume ours. The API should NOT have a call limit as new installs can be 10K+ of items (or we need it suspended during the implementation).
- *New Item/Update/
- Item Status (Active/Inactive/Removed)
- Item Long Description
- Item Short Description
- *Item POS1 Description (could be button name or printer name)
- Item POS2 Description (could be button name or printer name)
- *Item SKU
- *Item UPC Codes (at least one, prefer unlimited)
- *Item Price 1
- Item Price 2-10 (used for member pricing/happy hour pricing)
- Item Cost (only needed for discounts that are cost +)
- Item Dimension 1 (Size)
- Item Dimension 2 (Color)
- Item Dimension 3 (Other)
- Item Pictures (optional)
- On Hand (optional)
- All POS Partner Codes/Info (see #2)
- Matrix/Style – Ties into l and m. We have Matrix profiles that can tie all skus for a single style together (Mens shirt Style 1234 – Red/White/Blue – Small/Med/Large = 1 style, 9 skus.
https://fetch.yellowdogsoftware.com/index.html#/ThirdPartyCodes
- This is usually things like revenue center info, class info, and anything else needed to fully form a menu item in your system. Pulling it means we can’t introduce anything that does not exist first in the POS.
- These “codes” can be manually entered into Yellow Dog Inventory
- POS Abilities:
- *Bar Code Scanning of Items (support all bar code fonts)
- Ideal - Ability to have unlimited UPC Codes for an Item in addition to its one SKU number
- Ideal - Sell and return item in same transaction (exchange)
- Ideal - Return code added to your API sales transaction endpoint (to know if item goes back to inventory or not)
- Ideal - Clearly defined voids vs returns (one does not affect inventory, one does)
- Clearly defined discount presentation in transaction to each item
- Good lookup/search ability (no bar code)
- Search allows you to select and add to transaction
- Search (optionally) calls our API and gets real-time on-hand counts across all stores in property
- SLU (Ability to have an item automatically appear on designated touchscreens (fast, favorites, small hard to scan, etc)
- Sales: POS Partner API endpoint to retrieve detailed sales info
- Report (with export) to show all items with all settings
- Report (with export) Item change report to show all changes to item data by date/time range