custom receipt templates

Any one know of a developer who can create custom receipt templates?


  • wocrucwocruc Posts: 9Member
    Nope. I sure do wish we could get a receipt that showed the unit price of each line item and showed the discount at the line item level.
  • cygapparelcygapparel Posts: 1Member
    Hi, I also wanted that and was not able to find it in the settings. I called lightspeed support and they changed it for me. Now I have the unit price with the discount and price after discount all displayed on the receipt.
  • hppa_ithppa_it Posts: 3Member
    Hello Wocruc, here is a screen shot of one of our receipts with a discount showing. Are you looking for something like this?

  • Gabriel GivensGabriel Givens Posts: 19Moderator, Lightspeed Staff moderator
    Very awesome! I'm glad we could assist you. Anyone else who needs this, please give support a call or shoot us a request through our help page and we can totally take care of this for you.
    Gabriel Givens
    Senior Frontline Support
    Lightspeed HQ
  • Gabriel GivensGabriel Givens Posts: 19Moderator, Lightspeed Staff moderator
    Normally when we make these kinds of adjustments, they look more like this:

    Gabriel Givens
    Senior Frontline Support
    Lightspeed HQ
  • Gabriel GivensGabriel Givens Posts: 19Moderator, Lightspeed Staff moderator

    Gabriel Givens
    Senior Frontline Support
    Lightspeed HQ
  • skeatingskeating Posts: 2Member
    Very helpful! Thank you 
  • laurielaurie Posts: 7Member
    In case anyone else needs to do this, here's the section in the sales receipt print template that controls how line items are displayed:

    {# Item Lines #}
    {% set per_line_discount = true %} {# Displays Discounts on each Sale Line #}
    {% set per_line_subtotal = false %} {# Displays Subtotals for each Sale Line (ex: "1 x $5.00") #}
    {% set discounted_line_items = true %} {# Strikes out the original price and displays the discounted price on each Sale Line #}
    {% set per_line_employee = false %} {# Display Employee for each Sale line #}
    {% set show_custom_sku = false %} {# Adds SKU column for Custom SKU, if available, on each Sale Line #}
    {% set show_manufacturer_sku = false %} {# Adds SKU column for Manufacturer SKU, if available, on each Sale Line #}
    {% set show_msrp = false %} {# Adds MSRP column for the items MSRP, if available, on each Sale Line #}
  • SFMassageSupplySFMassageSupply Posts: 5Member
    Is there something like this for PO's??
    I have to make magic every time I print one so it actually fits on the page!
  • LalineUSALalineUSA Posts: 2Member
    I found this on GitHub that let me adjust my PO template:
  • quasar01quasar01 Posts: 1Member
    Hi there,
    I am looking to add a savings line at the end of the receipt.
    Savings (MSRP - price).

    Anyone have any prior experience or know which fields I could use.
    Thanks in advance!
  • erikgorkaerikgorka Posts: 3Member
    I am interested in customizing the Purchase Order print out to include special order information. Is that possible? I just don't know how to refer to special orders associated with the PO in the custom printing template. I've been able to customize other aspects of the PO by looking at other templates found at the GitHub site, but none of them contain the information I need.

    Alternatively, if the PO can't include that info, how can I customize the printing of Special Orders?
  • Adrian SamuelAdrian Samuel Posts: 400Moderator, Lightspeed Staff moderator
    Hey @quasar01,

    I've attached a screenshot of the code you'll need to enter onto your receipt template. If you need help with this, please email [email protected] and we can arrange a call.

  • Adrian SamuelAdrian Samuel Posts: 400Moderator, Lightspeed Staff moderator
    @erikgorka There isn't a way to pull unique special order information on a purchase order.

    If you're willing to explore third-party options, there is a way to make some slight design customisations to the Special Order template however.
    What are you looking to accomplish?
  • erikgorkaerikgorka Posts: 3Member
    @Adrian_Samuel Thanks for responding! We're new to Lightspeed and are looking at our workflow for receiving shipments and distributing equipment. I work for a college which does institutional orders as well as direct sales. For institutional orders, the receiving process involves checking in equipment from a shipment, comparing what's received with what was ordered (they come in batches), and figuring out what staff/faculty should get the equipment just received. Purchase Order printouts are the closest we can see to the type of paperwork we've traditionally given to the folks who do that processing. However, the printouts don't include the customer information (for who ultimately gets what - which is part of special orders) or a list of equipment not yet received (we don't usually wait for everything to come in before we start distributing). Modifying the printouts would help streamline the process and reduce our paperwork.

    We'd be open to alternative solutions if they're not too expensive or burdensome. I would also consider making custom apps and using your API. If you have thoughts on how best to approach this let me know.

    Thanks again!
  • Adrian SamuelAdrian Samuel Posts: 400Moderator, Lightspeed Staff moderator
    Hey @erikgorka,

    Anytime! I understand what you’re trying to accomplish now.

    If you make an API call to the Purchase Order Template Page you’ll get some useful information that will open some options to us (alternatively, add the template from Github and on the URL that's generated when you print a purchase order, change the link from[YOURACCOUNTID]/DisplayTemplate/Order/39.html?template=PurchaseOrderReceipt&print=true

    essentially changing the “html” to “json”. You can use xml if you prefer.

    The most useful information I see for our this situation is this:

    orderLineID and the customerID

    The Purchase Order (PO) template gives you the OrderLineID from the line as as if it’s a special order line

    So scripting something simple like this will allow you to determine whether the item is a special order and print it:

    {% if Line.orderLineID == SpecialOrders.SpecialOrder.orderLineID %}

    This item is a special order

    {% endif %}

    You might consider adding it as a cell on the table using a td tag.

    Now the name of customer’s isn’t available on the template, only the customer ID. If you make an ajax call to the Customer API ( and load that onto the page, you’ll have access to the customerID and you could loop through that data testing to see if the customerID matches any in the PO template. The script would look something like this

    {% for name in Customer %}
    {% if name.customerID == SpecialOrders.SpecialOrder.Customer %}
    {{name.firstName}} {{name.lastName}}
    {% endif %}
    {% endfor %}

    I hope this helps!

  • erikgorkaerikgorka Posts: 3Member
    @Adrian_Samuel That definitely helps. Thank you very much!
  • amdamd Posts: 2Member
    Hi There ,

    Any one knows how to customize receipt template for transfer?
    I have been trying to print qoh.
    I tried the following,

    but it is not working!
  • Adrian SamuelAdrian Samuel Posts: 400Moderator, Lightspeed Staff moderator
    Hey @amd, quantity on hand isn't available via the transfer template API.

    You can see an example of a payload from this end point here:

    To see the objects returned in your account use this url as a template and fill in the gaps between the {}:{{AccountID}}/DisplayTemplate/Transfer/{{transferNumber}}.json

  • amdamd Posts: 2Member
    @Adrian_Samuel Thanks for responding!
  • kotjzekotjze Posts: 1Member
    edited June 2018
    Is there any way to make the receipt header (logo, address, customer info) print on EVERY page when printing on letter(invoice)? It looks really bad right now for long orders that go onto a second page or more; it just starts listing items right at the top of the page.

    Edit: I don't know much about HTML/CSS, but anyway I found that changing the header's position from relative to fixed made it print on each page, but unfortunately info gets printed behind it as well... Now I just need a fix for that.
    Post edited by kotjze on
  • Adrian SamuelAdrian Samuel Posts: 400Moderator, Lightspeed Staff moderator
    @kotjze this is a surprisingly interesting question! Position fixed is going to be your best bet since the browser doesn't have access to the printer's systems. You could use further positioning to change the alignment of the info
Sign In or Register to comment.