Customising invoices

After customers place paid and to-be-paid orders in your Ecwid store (i.e. either with Awaiting Payment or Paid order status), they can print out invoice that includes their order details: your company name and address taken from your store profile, buyer’s ship-to address, methods of payment and shipping they’ve chosen for the order, information about ordered products and itemized order total:

 Screenshot_2019-08-21_at_12.11.07.png

Buyers can view and print invoices for their orders by clicking the Print order link in the Thank you for your order page that they see after order placement. They can also find the invoices for placed orders in their order history once they log into the customer accounts in your store. If your store is based in the EU, your customers will also get invoices as attachments to their Order Confirmation emails.

You as the store administrator can view, print out an invoice for any order or save invoice as PDF file in your Ecwid control panel → My Sales → Sales section. 

 To access Invoice Settings, go to Ecwid Control Panel → Settings → Invoice.

Adding a logo to the invoice

Click on Upload Invoice Logo and choose the file from your computer::

Adding the logo to your invoice

Once added, the logo is displayed on the printable sample. You can print the sample to make sure your logo looks just right. You can upload a different image by clicking on Change invoice logo or remove it at all.

Adding a business registration number to the invoice

Many European countries require some ​kind of seller registration ID on invoices – the UK requires VAT Reg No, Italy requires P.IVA, and Australia enforces ABN.

Click on Set VAT ID and insert the information to the editable field. The 'pencil' icon allows you to change the type of tax registration.

Add your tax ID to the invoice

Once added, we’ll include the information on all customer invoices.

The tax ID on the invoice

We also include this information in the footer of all email notifications sent to your customers. To adjust the position, please refer to the article on Mail Notifications Variables.

vat_id_on_emails.png

Editing the invoice template

Edit the invoice template with the help of HTML tags and regular expressions.

The feature for editing the invoice template is available for Business and Unlimited subscribers at no additional cost. If you’re subscribed to another plan, please consider upgrading your account to one of these plans.                     Upgrade to get this feature

Changing variables in invoice

We use standard HTML tags and special regular expressions for transferring order details to the invoice. You can add or remove the variables of these expressions, change their positions, or make a custom invoice to precisely suit your needs.

Invoice templates use the same collection of variables as Ecwid Mail Notifications. Find a full list of these variables in customizing email templates.

Removing SKU from invoice

To remove the SKU number from your invoices, delete the corresponding ${orderItem.sku} variable from the template.

Previewing the changes

While editing, click on Preview to view the template or Print Preview to see how it looks on paper.

Translating invoices to other languages

A number of special text label variables are responsible for changing the language of general invoice headings (like order, buyer, phone, etc) depending on the customer’s browser language.

This is the list of text label variables and their default English wordings:

Variable Text
${textLabels.order} Order
${textLabels.orderComments} Order comments
${textLabels.sku} SKU
${textLabels.footerMessage} Thank you for your order!
${textLabels.customerService} Customer service
${textLabels.phone} Phone
${textLabels.shippingMethod} Shipping method
${textLabels.paymentMethod} Payment method
${textLabels.discountCoupon} Discount coupon
${textLabels.items} Items
${textLabels.shipping} Shipping
${textLabels.total} Total
${textLabels.shipTo} Ship to
${textLabels.buyer} Buyer
${textLabels.pickupMethod} Pickup Method
${textLabels.taxId} Tax ID
${textLabels.taxFreeBusiness} Tax Exempt Customer

These variables are automatically translated to the customer’s browser language if a translated label exists in Ecwid. Otherwise, the label will appear in English. Remaining content is retrieved from the order details.

How to change the text if it’s not translated yet?

If we don’t offer labels in your language, you can replace the default variable with your preferred translation as a temporary workaround. We will use this text on your invoices regardless of your customer’s browser language.

You can also use this method for customizations. For example, you can change the default footer message from "Thank you for your order!" to "Thank you for choosing us!" by replacing the variable ${textLabels.footerMessage} with the wording "Thank you for choosing us!" in the template. ​

Modifying the footer message in your store

By the way, if you notice an incorrect translation, please let us know so we can update the translation!

Using the order extra fields

Order extra fields allow you to save some additional information to order. It can be visible or hidden from customer.

Additional tools for working with order extra fields include two functions and an array of objects: getOrderExtraFieldValue("key")getOrderExtraField("key"), order.extraFields.

Order extra fields structure: 

${order.extraFields}  
<#list order.extraFields as extraField> </#list> Displays the list of order extra fields.
${extraField.key} Displays the extra field' key.
${extraField.value} Displays the extra field's value.
${extraField.title} Optional. Displays the extra field' title.
${extraField.orderDisplaySection} Optional. Displays the extra field's title.
${extraField.type} Displays the extra field's type. 

Here are some examples: 

Show all order extra fields set to be visible in order details (title and orderDisplaySection is specified)

<#list order.extraFields as extraField>
	<#if extraField.title?has_content && extraField.orderDisplaySection?has_content>
${extraField.title}: ${extraField.value}
	</#if>
</#list>

Print value of a specific order extra field

<#assign myExtraFieldValue = getOrderExtraFieldValue("askHowYouFoundUsApp")>
<#if myExtraFieldValue?has_content>
	${myExtraFieldValue}
</#if>

Where "askHowYouFoundUsApp" is the key of your order extra field.

Print specific fields of a specific order extra field (remove fields you don't need to show)

<#assign myExtraField = getOrderExtraField("askHowYouFoundUsApp")>
${myExtraField.key}
${myExtraField.value}
${myExtraField.type}
${myExtraField.orderDisplaySection}
${myExtraField.title}

Where "askHowYouFoundUsApp" is the key of your order extra field.

​Useful apps

The Ecwid App Market offers several tools to help customize invoices.

Printout Designer

Printout Designer provides pre-made templates and customization options for invoices, packing slips, and shipping labels.

Printout helps you batch print invoices using filters for order status or order date. You can also email invoices or download them as a PDF. An icon on the form indicates whether the order has been printed, shipped, or e-mailed.

Each Ecwid store requires its own Printout account.

PrintFantastic

PrintFantastic helps create great looking invoices, sales receipts, gift receipts, and packing lists. While the layout of each print is static, you can edit captions and messages with different language defaults and remove items from the form.

The Invoice Logo, Order Number and Company Address are retrieved from your store.

Freshbooks Integration

Once setup, Freshbooks Integration sends new orders from your Ecwid store to Freshbooks' accounting application. You can use FreshBooks to create invoices, email customer order confirmations, and record your sales per customer.

Related articles

Customising email templates
Professional services from Ecwid
Changing store design

Was this article helpful?

Awesome! Thanks for your feedback!

Sorry about that! We are here to assist you by email or chat.

Contact support