Yellow Dog Software offers several production interfaces to leading web shopping carts.
Custom Website Sync Requirements
- YDI can receive sales data from websites.
- YDI can publish item information to websites, but it may not be meet all requirements.
- YDI does not have a published API for web syncs.
- YDI will not support a real-time sync with websites.
Yellow Dog Inventory does not have a dedicated API for syncing with arbitrary web sites. We do not plan on creating one. We have decided to place the burden of dictating the API on the website. Reasons for this include:
- So far, every web integration we have attempted has had very different requirements.
- Our attempts to specify file formats and other technical details have not been received well by website developers.
- Yellow Dog Inventory often sits behind a firewall.
Any sync built by Yellow Dog Software will NOT be real-time. Our syncs are designed to be launched by a task scheduler. The typical flow is:
- Windows Task Scheduler launches the YDI-side of the sync. This is typically scheduled to run every hour or once a day.
- The sync pulls in new sales data.
- Sales are processed in YDI and on hands are adjusted.
- Item information is published including new on hand.
Overview of Yellow Dog Inventory for the Web Developer
Yellow Dog Inventory is a Windows client/server application that is used to manage a store's on hand inventory. YDI handles ordering and receiving of items as well as on hand management through physical inventory counts. YDI can pull sales in from various POS systems and websites and use that data to reduce on hand. YDI records a great deal of information about items which it can publish to other systems.
If the website has a published API, we will utilize it to pull sales and potentially push item descriptions. We require the following:
- Complete documentation
- Test website
- API credentials
- Control Panel credentials
Custom Sales Export from Website
Please see our Generic Sync specifications for importing to Yellow Dog if the website needs to build a custom export for sales data.
Custom Item Publish from Yellow Dog Inventory
Yellow Dog Inventory can publish item information to the website. However, the requirements for item configuration on websites often go beyond what YDI can manage, so it may make more sense to manage most item configuration through the website's control panel and limit YDI information to data elements such as Current On Hand or Current Retail. Please see our Generic Sync specifications for exporting from Yellow Dog for a listing of data elements that YDI can publish.
Yellow Dog Inventory can push and pull data from the website using just about any transport other than email. Common transports include:
- FTP, SFTP (File names must be date-time stamped. For example: sales_20150502_0649.csv)
- Web Service
- HTTP Get, Post
- Shared folder (if on same network) (File names must be date-time stamped. For example: sales_20150502_0649.csv)
Dealing with On Hand
Dealing with current on hand can be an issue when syncing via FTP or even using web services. Issues that can arise when YDI publishes on hand for a website to consume include:
- Wrong on hand due to delay of batch sync. There are several workaround for this:
- Only update the website's on hand once a day at some off-hour. For example, YDI can push on hands at 1:00 AM, and the website tracks on hand until the next day at 1:00 AM.
- YDI can publish a Date/Time stamp for the on hand, and the website can use that to calculate its own on hand.
- Wrong on hand due to open tickets.
- The website will have to take this into account.
- Wrong on hand due to changes in YDI between syncs, such as receiving or manual adjustments or physical inventory adjustments.
- If YDI is not hosted, the customer often has the ability to launch the YDI-side of the sync manually.
In general, it should be assumed that there may be variances between a website's on hand and YDI's on hand.
We have built a huge number of syncs for various POS systems, web sites, EDI integrations and accounting systems. Once given a specification and usable test data, we can give you an estimated time frame for development.