Who is printIQ?

printIQ is one of Infigo's Technical Partners. Based out of Australia the team at printIQ specialise in Print MIS, Workflows, Estimating and Print Management. They have built their own sophisticated MIS system and we have built a plugin that integrates with it.

You can find out more about the company and their software here


Our integration

Our integration in its current form allows you to fetch a price back from printIQ for a specific Product Code which can then be displayed on the product landing page for the end user. We also support two modes for placing orders for multiple line items in Infigo and have them create quotes in printIQ.

NOTE: It works by mapping a Infigo Product SKU (later we speak about how you can set this up, either as one product, or as a combination of attributes on a product that all makeup a number of different SKUs) to a single product code in printIQ. So it can lead to many product codes needing to be created in printIQ depending on your setup.

We also then accept shipped statuses back from printIQ, storing the tracking number to be distributed in the Infigo Shipped notification to update the customers that their order is on its way.



Basic Setup

Our printIQ plugin is a paid module, so if you are interested in purchasing it please reach out to Support or Sales and they can provide you with the pricing and get you setup.

Once the plugin is enabled the initial setup process is very simple:

  1. Enable the plugin. Simply search 'Connect' in admin and it will return two results that you need
    • Connect Settings - Open this page in a new tab and Under the list of Enabled MIS Plugins you should see 'printIQ' ensure that this is checked.
    • Connect Plugins - Open this in another tab and here is where you can start configuring the connection
  2. Start off by entering in your printIQ instance URL, and then you need to fetch a username, password, application name and application key - all of which can be provided to you by printIQs support team.
  3. Once you have entered this information you can now check the connection to ensure everything is how it should be. To do this click 'Back to plugin list' and then next to the printIQ plugin click on 'Check Connection'. If everything is correct you will see a green popup appear with a successful connection message. If a connection cannot be made then you will see a failed red popup appear and something is not quite right with the details you have entered. If you are struggling then please raise a ticket with the support team and we can assist you.


Mapping Customers

Every customer in Infigo that will be placing orders needs to be mapped to a printIQ Customer Code. 

To do this, simply create a customer in Infigo (checkout our article on creating customers) or take an existing customer and click Edit. Once in the customer record, on the info tab, scroll down to find our Magic Green Button - 'Infigo Connect Link' - Keep an eye out for this guy throughout admin, he will be your best friend when setting up an MIS plugin in Infigo.


Click the green button and in the popup you can enter in your printIQ Customer Code. This code will be passed into printIQ with every estimate and order that this customer places in Infigo.

If you do not wish, or need to have individual Customer Codes per unique customer you can set a storefront default customer code as described in this section.


Mapping Products

Very similar to the process of mapping customer, every product needs to have a printIQ product code or SKU assigned to it.

There are many ways to do this, each time just look for the Green Button:

  • You can add your products to a Product Group and assign the Product Group to a printIQ product code, therefore every product in that Product Group will inherit that printIQ product code.
  • Directly on the product variant
  • Create attributes, assign them to the product and then create Attribute Combinations and assign a printIQ product code to the Attribute Combination.


Mapping Shipping Options

If you offer shipping options in Infigo and want that information to be passed into printIQ we offer the ability to setup simple mappings from a Infigo shipping option to a printIQ shipping method.

To do this you need to go back to printIQ Connect plugin configuration page (As shown in the Basic Setup step) then scroll down until you find the Delivery Settings section.


Clicking 'Add new item' for the Delivery mapping table allows you to start mapping your Infigo Delivery Options you have created to printIQ shipping methods.

The Key is the delivery method system name for your Infigo Delivery Method (you can find this on any Delivery Computation Plugin you are using - click shipping options at the base of the page and then from the list select the ShippingMethodSystemName)

The Value is the name of the printIQ delivery method and will be the value that we pass into printIQ with the quote request.

You can continue to add as many of these as you need.


We also allow for you to pass the Infigo Delivery By date into printIQ, if you wish. If this setting is disabled we will not pass it and so therefore printIQ will determine the timings as part of the quote and the job. If you do send it then we will override what printIQ might have set with the date that we send it from Infigo. See our article on Delivery and Production restrictions for more information.


Creating Invoices

We support passing invoice and paid flags into printIQ for each job which you can configure as part of the plugin on a storefront wide basis.

If you wish to have Infigo tell printIQ to create an invoice for ALL jobs placed then you need to enable the settings called 'Create invoice for all jobs in printIQ'. 


When the job comes into printIQ and this setting is enabled it will look like this:



Marking jobs as paid

printIQ has a flag against a job that is used to determine if that job has been paid for or not.

We have added support for passing this information with the job request from Infigo at the point when the order is confirmed on the storefront. The setting that controls this is called 'Send Jobs marked as paid' and it is a drop down with the following options, which each option controlling how that information is passed into printIQ:

  • Never - When this is set we will never mark a job as paid in printIQ so all will come through as Paid - No.
  • Always - When this is set we will always mark a job as paid in printIQ so all will come through as Paid - Yes.
  • Always except when Purchase Order payment - When this is set we will mark all jobs as paid in printIQ EXCEPT when a customer uses the Purchase Order payment type. For example, if you offer credit card and PO as payment options on the site then we recommend setting it to this option as it will pass into printIQ the job as paid when the customer has paid upfront on the site for the order using PayPal, SagePay, Authorize.Net etc. but for the orders where they have selected Purchase Order it will mark it as unpaid and allow printIQ to invoice and charge for it later.


It is important, when handling tax codes that the configuration and setup of the tax codes in both Infigo and printIQ is consistent.

In Infigo these are our Tax Categories.

In printIQ they are their Tax Codes.

And we match them on name so it is important that your Infigo Tax Categories and your printIQ Tax Codes match by name exactly.

Checkout our article on setting up your Tax Categories here.

Within the printIQ plugin we also allow for you to specify a 'Fallback Taxcode'. This value will be sent with every job where the product they are ordering does not have a tax category assigned to it in Infigo. So again, it is important that this Tax Category name exists as a Tax Code in printIQ.


Sending Additional Job Reference information

We support the ability to send additional Job Information with every job using printIQs Job Reference fields.

To do this you need to first enable the setting in the printIQ plugin configuration called 'Send additional Reference Fields'.


Once enabled you will be presented with a mapping UI that will allow you to determine what Job Reference field  in printIQ information is passed into, and what value we pass for that reference.

First, click on the 'Add new item' button. This will then present you with two paired text fields. The 'Key' which is the name of the Job Reference Field as it appears in printIQ exactly. And the 'Value' which you should populate with an Infigo placeholder(s) to build up the value you want to be passed.

Checkout how to use placeholders here.

You can add as many Job Reference field mappings as you need, however please bear in mind, that for each Job Reference field mapping you include we need to make an additional API request to printIQ so the more you add the more it could impact on performance.


Other Configuration

Found at the bottom of our printIQ Connect Plugin configuration page we have a number of other configurations that you can set, all of which act as storefront wide settings:


  • General Account Manager ID - This should be populated with the printIQ Account Manager ID that you want to be passed with every quote request. If you require this to potentially be different for different users placing an order then you can use Departments in Infigo to group the users and then set the printIQ Account Manager ID as the External ID of the department (Using the Green Button), that will be used as an override for this setting and be sent instead.
  • Customer Reference Type - We pass a CustomerReference field in with the quote request to printIQ and this setting lets you determine whether we pass the OrderID or the PO Number (if using PO as a payment method) for this value.
  • Default customer code - This value is a Storefront default, fall back Customer Code that is used when an order is placed by a customer that doesn't have a Customer Code assigned directly to them (as part of this section).
  • Delivery Notes Checkout Attribute & Special Instructions Checkout Attribute - These last two fields are both mapping fields. If you want to allow for the customer to add notes about the order in the basket then you can create a Infigo Checkout Attribute. Once you have created one, you need to put the name of that attribute into one of these fields depending on how you want it sent to printIQ. We then simply pass whatever the customer enters into that Checkout Attribute as a Delivery Note or a Special Instruction depending on your configuration.


Order Modes

As mentioned at the start we support two methods of placing orders in printIQ.

The first is to raise independent quotes for each Order Line Item. This means that if an order contains multiple items in Infigo then when we pass this information into printIQ we will pass them as individual quotes. Each quote we raise we will send an auto accept flag that means printIQ will automatically create jobs for each quote.

To do this you need to set the Order Submission approach to "Raise independent quotes for each order line item".mceclip0.png


The alternative is to link and combine all items in an order into one quote. So we will generate a quote for the first order line item, and then for subsequent items we will append them all to the same quote. Once all items are added we will accept the quote, which triggers printIQ to create a job for the entire group and then we pass along the final artwork files.

To do this you need to set the Order Submission approach to "Append additional Order Line items to the same quote"


See attached PDF workflows for a demonstration on how it all works.


Webhook - Status Updates

As mentioned we support Shipped status updates back from printIQ once the job has been set as dispatched in printIQ. In order to make this possible printIQ need to setup a webhook to pass the information back to us. At the bottom of the printIQ Connect Plugin configuration page there is a Webhook Link which we need to provide to the printIQ team. A request to either us through our Support Desk or directly to printIQ can be made to start this setup process.

As part of the information sent back from printIQ we will capture the value from the Connote field (Products[].AcceptanceProductDeliveryDetails.Connote)



which will contain the Shipment Tracking Numbers. And when Easypost is used in the PrintIQ instance we will also capture the Consignment Tracking URL (Products[].ConsignmentTrack.Consignments.Trackers[].TrackingURL).


We will store these against the order in Infigo and they can be viewed in all the regular tracking URL locations (My Account, Sales > Orders, shipped notifications etc.)

Attached is a sample payload sent back from PrintIQ of the Despatch Status Update (UpdateDespatchStatus.json). First we filter by the 'Dispatched' and then we will set the corresponding Job/Order to shipped in Infigo.



Data sent to IQ

Attached is a SAMPLE.json file which demonstrates the data that is sent through to printIQ when an order is placed.

Have more questions? Submit a request


Please sign in to leave a comment.