Zapier: Step by Step guide to create KashFlow invoices for new Shopify orders

  • Once you login to your Zapier Account, go to Zaps menu
  • If you have created a new Zapier account, and if this is your first Zap, you will see ‘Make a new Zap’. Click that.

  • If you already have Zapier account, click on ,‘Make a Zap’ or ‘Create Zap’.

  • As a first step, you need to setup Trigger.
  • Here you need to select source application and event.

  • If you want you may give a name to your Zap at this stage or you can give later e.g. ‘Create KashFlow invoices for new Shopify orders’
  • Select ‘Shopify’ as an application for Trigger.

  • You may select any event, which is exposed by the Shopify. Since we want to create a Invoice in KashFlow, when a new order is created in Shopify, let’s select ‘New Order’ event.

  • Click ‘Continue

  • Now select Account for Trigger
  • If this is your first Zap for Shopify, click on ‘Sign in to Shopify’. Otherwise you can select Account from dropdown.

  • Provide your Shopify credentials like store name, email ID and password.

  • You may wish to test the trigger and confirm if you are getting the latest order data.

  • If you are getting real/latest order’s data from your Shopify account, you are good to proceed.
  • As a second step, you need to setup Action.
  • Here you need to select Target application and event. and then map the fields from source and target application.
  • Select ‘KashFlow’ as an application for Action. 

 


  • In case, if you would like to test integration on UAT first and then move to Production/Live, Select KashFlow(x.x.x). Note that for this, you will need to have UAT Account.
  • In case, if you would like to test with your live KashFlow, select KashFlow


  • You may select any event which is exposed by KashFlow. Since we want to create a invoice in KashFlow, when a new order is created in Shopify, let us select ‘Create Invoice’ event.

  • Click ‘Continue

  • Click on ‘Sign in to KashFlow‘ if this is your first integration , otherwise you can choose existing account from the dropdown.

  • Provide your KashFlow credentials like username, password and memorable word and click on ‘Yes, Continue’. Its safe to provide these details at Zapier as KashFlow is a secure partner with Zapier. Your credentials are encrypted.
  • Caution: Whenever you change your KashFlow credentials, you will need to change it Zapier too. Otherwise Zap will stop working.

  • If your credentials are correct, it will ask to redirect to the Zapier Page again. Click ‘Continue‘ to proceed to setup the action.

  • Here you will need to answer few questions and map Shopify fields with KashFlow fields.
  • Customer Details

  • How Should Existing Customer In KashFlow Be Matched ?
    • You can select Email or Name or Code
    • This helps system to create new customer when not found. And also give opportunity to update customer when found.
    • In Shopify, the customer is uniquely identified using email and so most users set Email over here.
    • If you have more than one customer with same Email ID in your KashFlow Account, system will not be able to decide which customer to assign for this invoice and invoice creation will fail.
    • You may choose name if Customer Name is unique in your case rather than email ID.
  • Customer Name
    • This is Name of the Customer /Company.
    • Most users map it with Shopify’s Customer First Name; Customer Last Name
  • Customer Code
    • An alphanumeric unique ID using which you would like to identify customer in KashFlow.
    • Most users, leave it blank and system generates it.
  • Customer Email
    • Primary Contact’s Email Address
    • Most users map it with Shopify’s Email
  • First Name
    • Primary Contact’s first name. Maximum 100 characters.
    • Most users map it with Shopify’s Customer First Name.
  • Last Name
    • Primary Contact’s last name. Maximum 100 characters.
    • Most users map it with Shopify’s Customer Last Name.
  • Full Name
    • Primary Contact’s full name. Maximum 100 characters.
    • Most users map it with Shopify’s Customer First Name and Customer Last Name
  • Telephone
    • Primary Contact’s Telephone number. Maximum 75 characters.
    • Most users map it with Shopify’s Customer Default Address Phone.
    • Some users also map it with Shopify’s billing address phone
  • Mobile
    • Primary Contact’s Cell Number. Maximum 75 characters.
    • Most users, leave it blank.
  • Would You Like To Create A Customer When Not Found
    • System will check if customer exists in KashFlow based on your matching criteria i.e. whatever you set in ‘How Should Existing Customer In KashFlow Be Matched ?’
    • System will generate new customer and associate invoice to newly created customer when value for this field is set to ‘True’ otherwise invoice creation will fail when customer is not found.
    • Customer details mapped above like Name, Telephone etc. will be used for creating new customer
    • Most users, set it True.
  • Would You Like To Update A Customer When Found
    • In case, if you would like to override existing customer’s information with customer’s information in ‘Shopify’, select ‘True” otherwise false
    • Most users, set it True.
  • Invoice Details

    • Invoice Number
      • Unique Invoice Number. System will generate when not provided.
      • Most users, leave it blank and system generates it.
    • Invoice Issue Date
      • The date on which this Invoice was generated.
      • Most users map it with Shopify’s Created At/ Updated At.
    • Invoice Due Date
      • The date on which this Invoice is due
      • Most users map it with Shopify’s Created At/ Updated At as they are paid when order is confirmed.
    • Currency
      • The name or code of currency in which this invoice has to be created
      • The users which have all invoices in one currency select specific currency from dropdown.
      • Others go to custom and map with Shopify’s Currency
    • Customer Reference/Purchase Order
      • If you want to record invoice number from Shopify, you can record it here.
      • This can help you track/find invoice quicker when customer queries using Shopify
      • Most users, append Shopify # or Shopify Order # with Shopify’s Name so that they will know that this invoice is imported from Shopify.
  • Customer Billing Address

    • Address Line 1
      • Most users map it with Shopify’s Billing Address Address 1 or Default Address Address 1
    • Address Line 2
      • Most users map it with Shopify’s Billing Address city.
      • Users who map default address, use Default Address Address 2 for mapping.
    • Address Line 3
      • Most users map it with Shopify’s Billing Address province
      • Users who map default address, use Default Address city for mapping.
    • Address Line 4
      • Most users leave it blank
      • Users who map default address, use Default Address province for mapping.
    • Post Code
      • Most users map it with Shopify’s Billing Address zip or Default Address Zip 
    • Country
      • Name or code of country
      • Most users go to custom and map with Shopify’s Billing Address Country or Default Address Country.
    • Update Customer Address
      • Set this to ‘True’ if you want to update customer’s address with billing address from this invoice else ‘False’
      • Most users set it to ‘True’
  • Delivery Address

    • Users map this when billing and delivery address are different or they are interested in Packing slip
    • Use Different Delivery Address
      • Most users set it to ‘True’
    • Address Name
      • Most user’s map it with Shopify’s Shipping Address Name
    • Address Line 1
      • Most users map it with Shopify’s Shipping Address Address 1 .
      • Some users also map it with Shipping Address Company
    • Address Line 2
      • Most users map it with Shopify’s Shipping Address city.
      • The users who map Shopify’s Shipping Address Company in Address line 1, map this field with Shopify’s Shipping Address Address 1 .
    • Address Line 3
      • Most users map it with Shopify’s Shipping Address province
      • The users who map Shopify’s Shipping Address Company in Address line 1, map this field with Shopify’s Shipping Address City .
    • Address Line 4
      • Most users leave it blank
      • The users who map Shopify’s Shipping Address Company in Address line 1, map this field with Shopify’s Shipping Address province
    • Post Code
      • Most users map it with Shopify’s Shipping Address Zip
    • Country
      • Name or code of the country.
      • Most users go to custom and map with Shopify’s Shipping Address Country.
    • Update Customer’s Delivery Address
      • Set this to ‘True’ if you want to update customer’s delivery address with delivery address from this invoice else ‘False’
      • Most users set it to ‘True’
  • Project
    • If you have invoice level projects in your KashFlow Account and if you want some default project to be assigned for your invoice, you can set it here.
    • Most users leave it blank.
  • Line Items

    • Project
      • The name of project that you want to assign to current line item.
      • If your Project Settings are configured to allow assigning projects to line Items and if you want some default project, you can set it here.
      • Most users leave it blank.
    • Sales Code
      • The name of the Sales Code that you would like to assign to current line item.
      • Users for whom all/most of lines items from all Shopify invoices belong to one sales code; select specific Sales Code from dropdown. Others leave it blank
    • Product
      • Name or code of the product from selected sales code.
      • Shopify and KashFlow product (code/name) must be exactly same in order to get it right.
      • When its same, some users map it with Shopify’s Line Items SKU or Line Items Title
      • Others leave it blank,
    • Description
      • Line item description
      • Some users map it with Shopify’s Line Items Title and Line Items Variant Title
    • Quantity
      • The number of products that sold in this line item
      • Most users map it with Shopify’s Line Items Quantity
    • Rate
      • Per unit price of the Product
      • Most users map it with Shopify’s Line Items Price
    • Inclusive Of Tax?
      • KashFlow expects to have Rate/price of single item without VAT Amount.
      • However Shopify may give price which is inclusive of Tax.
      • Set this to true if line item price from Shopify is inclusive of VAT Amount.
      • When selected, system will find out item Price/Rate by deducting VAT Amount
      • Most users map it with Shopify’s Taxes Included
    • VAT Rate
      • Percentage of VAT to be applied on this Line Item
      • Users select fixed VAT percent from drop-down when it is same for all lines items/orders; otherwise need to use utility for Shopify’s Line Item Tax Line Rate (similar to VAT Amount mentioned below) as this also comes in array.
    • VAT Amount
      • VAT Amount to be applied on this Line Item.
      • Do not provide if you want system to calculate based on VAT Rate.
      • In case, if you want to map it with Shopify’s VAT Amount, you will need to use additional utility as
        • Shopify Provides VAT Amount in the form of array.
        • At the moment, Zapier has known issue/bug and Array transform is not working as expected.
      • Follow below steps to set up additional utility to get correct amount
        • Click on the plus icon which is available in between the trigger and action as shown below
        • Select ‘Code by Zapier’ Application
        • Select ‘Run Javascript’ event
        • Click Continue
        • In the first input field select some variable name lets say vatAmount and vatRate
        • In the second input field select Shopify’s Line Items tax Lines Price and Shopify’s Line Items tax Lines rate
        • In the code, copy paste below code
        • let vatAmount=[];
          let vatRate=[];
          if(inputData.vatAmount){
          vatAmount = (inputData.vatAmount).split(‘,’);
          } else{
          vatAmount= 0
          }
          if(inputData.vatRate){
          vatRate = (inputData.vatRate).split(‘,’);
          } else{
          vatRate= 0
          }

          output = {outputVatAmount: vatAmount, outputVatRate: vatRate};

        • Click Continue
        • Click ‘Test and Continue’
        • If you are getting successful test message with the formatted output as below, you are good to proceed.
        • Now map VAT Amount in Zap with 2.output for VAT Amount and VAT Rate with 2.output VAT Rate
  • Additional Charges

    • This section will allow to setup Invoice level additional charge like shipping charge, postal charge if any.
    • Note that KashFlow does not support line item level additional charges so you will need to map it total additional charges for all line items.
    • Sales Code
      • The name of the Sales Code that you would like to assign to additional charges.
      • Users for whom this additional charge belong to one sales code; select specific Sales Code from dropdown. Others leave it blank.
    • Charge
      • Invoice level additional charge like shipping charge, postal charge if any
      • Most users map it with Shopify’s Shipping line item total 
    • Description
      • Most users set fixed string like ‘Shipping charges:’
      • Refer to line item for VAT Rate, VAT Amount and Inclusive of Tax
  • Discount 

    • This section will allow to setup Invoice level discount if any
    • Note that KashFlow does not support line item level discount so you will need to map it total discount of all line items
    • Sales Code
      • The name of the Sales Code that you would like to assign to discount
      • Users for whom this discount belong to one sales code; select specific Sales Code from dropdown. Others leave it blank
    • Discount
      • Invoice level discount if any to be given for current customer
      • Most user map it to shopify’s Line Items Total Discount
    • Description
      • Most users use fixed string e,g. ‘Total discount’
  • Invoice Comments

    • Set this section if you would like to have invoice comments
    • Some users map it with Shopify’s Note and Customer Note
  • Payment Lines

    • If you would like to add payment when invoice is created, user this section
    • Bank Account ID
      • Default Bank Account against which a payment for this invoice has to be recorded
      • Most users select specific bank from dropdown
    • Date
      • Date on which this payment is recorded
      • Most users map it with Shopify’s Created At/ Updated At.
    • Invoice Payment Method
      • Most users select specific payment method from dropdown
    • Amount
      • The amount Paid
      • Most users map it with Shopify’s Total Price
  • Notes
    • Users set this field when they do not want to see notes in line item section
    • Some users map it with Shopify’s Note and Customer Note
  • Once you are done with mapping, go may want to test this zap. Go to the end and click ‘Test and Continue
  • Go to KashFlow and verify that new invoice got created. If you wish to change any mapping do that.
  • Once you are sure, turn the zap ON.


Notes

  • Mapping for mandatory fields is required
  • Above mapping is for reference and will work most of the times. However, you may choose to do the mapping based on where do you want to see the data from Shopify in KashFlow.
  • If you do not want to flow certain fields from Shopify to KashFlow, you can leave them default/blank.

See how KashFlow works with your business and your books