CIMPRESS - Integration Automation/Process/Status

CIMPRESS - Integration Automation/Process/Status

 

 

 

CIMPRESS - Integration

Order Automation 2.0

S.O.P.

Version 3.0
10/18/2024


 

OBJECTIVE

The following guide is used to understand the inner workings of our Cimpress integration.

 

DEFINITIONS

CIMPRESS WEB SERVICE = We created and maintain a custom Web Service for Cimpress to POST their orders to us in JSON format. Our “Cimpress Web Service” (referred to as simply  Web Service in this document) is always “listening” for a POSTED order, which can happen at any time of day.

EDI INTERCHANGE = We created and maintain our “EDInterchange” system for various automation tasks including Integrated orders. For Cimpress Specifically…

·         The “Cimpress-Status” function is scheduled to run the at 1 hour intervals during weekdays to check the Status of orders and to report order status and shipping notifications back to the Cimpress Server.

·         The “Cimpress-Orders” function is scheduled to run at 1 hour intervals during weekdays to Upload the orders to Impress.

·         The “Cimpress-Invoices” function creates invoice records that are ultimately grouped for Bi-Montly invoice report. Runs daily.

·         The “Cimpress-InvoiceReport” groups and sends the invoice report. Runs Bi-Monthly.

DATABASE = Database tables for Cimpress exist in the EDI-Orders database.

·         The “CimpressOrderHeader” table contains order header level data, like billing, shipping, ship method etc… (referred to as simply OrderHeader in this document)

·         The “CimpressOrderDetails table contains the Line Items, including SKU, Decoration, quantity etc…

·         The “CimpressShipped” table contains records of which shipped order items have been previously sent to Cimpress as FULFILLED.

·         The “CimpressInvoice” table contains invoice records for every item, for every order that has been FULFILLED.


 INITIAL STATUS - RECEIVED

When the Web Service Receives an order POST message, the following steps are taken in order…

1.      Authorize the message sender using OAuth and log the authorization result.

2.      Check for a valid JSON message.
- If valid…
    - Log the JSON.
    - Return an HTTP 200 message.
- If not valid…
    - Return an HTTP error message to their server.
    - Log the Error.
    - Do NOT proceed.

3.      Write the Order to the OrderHeader Table with a Status of “RECEIVED”.

4.      Write the Order items to the OrderDetails Table without Status.


 

RECEIVED > ACCEPTED

When the Cimpress-Status function Runs, it finds any OrderHeader Record with a status of “RECEIVED” and performs the following tasks...

1.      Check to make sure the order is shipping to the United States.
- If US, continue.
- If non-US…
    - Mark OrderHeader Status = “REJECTED”.
    - Mark OrderHeader Reason = “Delivery_Address_Invalid”
    - Send “Rejected” message to Cimpress server for all items.
    - Do NOT continue.

2.      Check and download the necessary Art Files to produce the Garment Designs.
- If JSON and Art are OK, continue
- If JSON or Art Problem…
    - Mark OrderHeader Status = “REJECTED”.
    - Mark OrderHeader Reason = “Art_Problem”.
    - Send “Rejected” message to Cimpress server for all items.
    - Do NOT continue.

3.      Check for valid SKUs and Inventory.
- If ALL SKUs Valid and In-Stock…
    - Mark OrderHeader Status = “ACCEPTED”.
    - Mark All OrderDetail Statuses = “ACCEPTED”.
    - Send “ProductionAccepted” message to Cimpress for all items.
- If ALL SKUs Not Valid or Out-Of-Stock…
    - OrderHeader Status = “REJECTED”.
    - Mark All OrderDetail Statuses = “REJECTED”.
    - Reason Out_Of-Stock.
    - Send “Rejected” message to Cimpress for all items.
    - Do Not continue.
- If SOME SKUs Not Valid or No-Stock… (Partial Accept/Reject)
    - Mark OrderHeader Status = “ACCEPTED”.
    - Mark OK OrderDetail Statuses = “ACCEPTED”.
    - Mark Non-OK OrderDetail Statuses = “REJECTED”.
    - Send “ProductionAccepted” message to Cimpress for OK items.
    - Send “Rejected” message to Cimpress for Non-OK items.


 

ACCEPTED > UPLOADED

When the Cimpress-Status function Runs, it finds any OrderHeader Record with a status of “ACCEPTED” and performs the following tasks...

1.      Creates Embroidery and/or ScreenPrint and/or DTF decoration(s) for the order items.

2.      Creates Garment Design(s) for the order items.

3.      Attempts Upload.
- If Upload Successful…
    - Mark OrderHeader Status = “UPLOADED”.
- If Upload Fails…
    - Mark OrderHeader Status = “ERROR”.
    - Mark OrderHeader Reason = Exception Message.

 

UPLOADED > WIP

When the Cimpress-Status function Runs, it finds any OrderHeader Record with a status of “UPLOADED” and performs the following tasks...

1.      Check the status of the order in Impress.
- If Order is released but is not shipped, not shorted, not Order Complete…
    - Mark OrderHeader Status = “WIP”.
    - Mark OrderDetail Statuses that are not “REJECTED” = “WIP”.

UPLOADED > CANCELLED

When the Cimpress-Status function Runs, it finds any OrderHeader Record with a status of “UPLOADED”, and performs the following tasks...

1.      Check the status or the order in Impress.
- If Order “Shorted”…
    - Mark OrderHeader Status = “CANCELLED”
    - Marks ALL OrderDetail Statuses = “CANCELLED”.
    - Send “Cancelled” message to Cimpress for all items.


 

UPLOADED > PARTSHIP

When the Cimpress-Status function Runs, it finds any OrderHeader Record with a status of “UPLOADED”, ”WIP” or “PARTSHIP” and performs the following tasks...

Check the status or the order in Impress.
- If Order is “Shipped Partial”
    - Get Shipping Records
    - Check to see if new shipping records exist that were not previously sent.
    - Send “Fulfilled” message to Cimpress for any new shipping Records
    - Mark Shipped  OrderDetail Statuses = “SHIPPED”.
    -  If all Items Not  Shipped… Mark OrderHeader Status = “PARTSHIP”.
- If Order “Shorted”…
    - Mark OrderHeader Status = “SHIPPED”
    - Marks ALL OrderDetail Statuses that have not shipped = “CANCELLED”.
    - Send “Cancelled” message to Cimpress for non-shipped items.
- If Order is “WIP” Do Not Continue.

UPLOADED > SHIPPED

When the Cimpress-Status function Runs, it finds any OrderHeader Record with a status of “UPLOADED”, ”WIP” or “PARTSHIP” and performs the following tasks...

Check the status or the order in Impress.
- If Order is “Shipped Complete”…
    - Get Shipping Records
    - Check to see if new shipping records exist that were not previously sent.
    - Send “Fulfilled” message to Cimpress for any new shipping Records
    - Mark Shipped  OrderDetail Statuses = “SHIPPED”.
    -  If all Items Shipped… Mark OrderHeader Status = “SHIPPED”.
- If Order is “WIP” Do Not Continue.


 

ORDER CANCELLATIONS

If Cimpress reached out to Cancel an Order, or there are Damaged pieces, the associated Departments outlined below are responsible to perform the following tasks under the following conditions...

- UPLOADED – NO SANMAR PURCHASE, NOT RELEASED…
    - CSR Shorts the order in Impress
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “REJECTED”.
    - System sends “Reject” message to Cimpress for all items.
- UPLOADED – SANMAR PURCHASE, NOT RELEASED…
    - CSR Shorts the order in Impress
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “REJECTED”.
    - System sends “Reject” message to Cimpress for all items.
    - ??? Inventory team does what?
- WIP – NO SANMAR PURCHASE…
    - CSR sends message to Billing Dept to Invoice and Short the order.
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “CANCELLED”.
    - System sends “Cancelled” message to Cimpress for all items.
    - ??? Inventory team does what?
    - ??? Production team does what?

- WIP – DECORATED - NOT SHIPPED…
    - CSR sends message to Billing Dept to Invoice and Short the order.
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “CANCELLED”.
    - System sends “Reject” message to Cimpress for all items.
    - ??? Inventory team does what?
    - ??? Production team does what?
    - ??? Billing Team does what?


 

- WIP - DECORATED - PARTIALLY SHIPPED…
    - CSR sends message to Billing Dept to Invoice and Short the order.
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “CANCELLED”.
    - System sends “Cancelled” message to Cimpress for Un-Shipped items.
- WIP - DECORATED - FULLY SHIPPED…
    - CSR sends message to Billing Dept to Invoice and Short the order.
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “CANCELLED”.
    - System sends “Cancelled” message to Cimpress for ALL items.
- WIP - DECORATED – DAMAGED – NOT SHIPPED…
    - CSR sends message to Billing Dept to Invoice and Short the order.
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “CANCELLED”.
    - System sends “Cancelled” message to Cimpress for ALL items.
- WIP - DECORATED – DAMAGED – PARTIALLY SHIPPED…
    - CSR sends message to Billing Dept to Invoice and Short the order.
    - System sets OrderHeader Status = “CANCELLED”
    - System marks ALL OrderDetail Statuses = “CANCELLED”.
    - System sends “Cancelled” message to Cimpress for Un-Shipped items.

 



    • Related Articles

    • CIMPRESS - CSR

      CIMPRESS - CSR Sales Order/Art 1.0 S.O.P. Version 1.0 10/21/2024 OBJECTIVE The following guide is used to understand how Cimpress Sales Orders are to be processed, how art is obtained and setup, and how to troubleshoot orders. OVERVIEW We created a ...
    • Integration SKUs

      For any integrated program… when customers are passing SKUs, we need 1 of the following… · Blank Product - The Valid Full Vantage SKU, IE… 2600BLKSM Decorated Product – a Valid Full Vantage SKU with GarmentDesign Shortcut IE… 2600BLKSM-G1234567 A ...
    • CIMPRESS - Product Data

      CIMPRESS - ProductData Product Data 1.0 S.O.P. Version 1 9/28/2023 OBJECTIVE Cimpress has specific requirements for data exports of both Vantage Products and SanMar products. At any time, Cimpress may request full data exports of Vantage Products or ...
    • Custom EDI Integration with Fanatics

      This document outlines the processes and responsibilities for integrating with Fanatics’ custom EDI and API systems. It includes steps for onboarding, sales order management, packing and shipping, invoicing, and IT processes. Each department is ...
    • Steps to Properly Close Applications and Shut Down

      Here are the proper steps for closing all applications and shutting down your desktop or laptop, starting with the Impress ERP application: Steps to Properly Close Applications and Shut Down: Close Impress ERP Application: Locate the ">" icon (arrow) ...