[Free] Invoice Bluetooth Thermal Printer Extension Free

:receipt: Description:

The InvoicePrinter extension allows you to print professionally formatted invoices via Bluetooth-connected thermal printers directly from your Kodular or App Inventor project.

This extension includes full customization support:

  • :white_check_mark: Dynamic headers and footers
  • :white_check_mark: Product list printing with quantity, price, and discount
  • :white_check_mark: Bold, double-height TOTAL section
  • :white_check_mark: UTF-8 support and ESC/POS formatting
  • :white_check_mark: BluetoothClient support for seamless printer communication

:brick: Available Blocks:

1. :package:PrintInvoice

:small_blue_diamond: Parameters:

  • BluetoothClient – the connected BluetoothClient component.

  • headerText – text to be displayed at the top (multi-line allowed, centered automatically).

  • invoiceID – unique invoice ID.

  • date – date of invoice.

  • employeeName – name of employee who created the invoice.

  • customerName – name of the customer.

  • productListText – list of product strings formatted like:

     ProductName | QtyBox | QtyChain | Price | Discount@ DISCOUNT
    

Example: Lays Chips | 2 | 4 | 30 | 5@ DISCOUNT

  • discount – final discount on invoice (if any).
  • totalValue – total payable amount.
  • remark – any additional remarks.
  • footerText – text at the bottom (multi-line allowed, centered automatically).

2.:police_car_light: PrintError

component_event

Event PrintError(String message)

  • This event is triggered when there’s a Bluetooth disconnection or any print error.
  • You can use this to show a notifier or log.

:printer: Sample Output on Thermal Printer:

I will Try to upload it

:inbox_tray: AIA Usage Example:

  • Use a ListView to collect product data.
  • Join items as ProductName | BoxQty | ChainQty | Price | Discount@ DISCOUNT
  • Pass YailList to productListText parameter.
  • Fill header and footer with \n for multiple lines.

:toolbox: Requirements:

  • A working Bluetooth thermal printer (58mm/80mm)
  • A connected BluetoothClient component
  • UTF-8 and ESC/POS compatible printer

feel free to comment for improvements or feature suggestions.
and please don’t judge me this is my first extension which i have made.
if you would like me to donate me something for my work you can send me amazon gift voucher in my akgteck@gmail.com

Download AIX :

InvoicePrinter.aix (8.7 KB)

12 Likes

Congratulations on your first extension, I’m going to try it out.

Is it possible to print custom templates, barcodes and QR codes?

3 Likes

Hi Sunita_Gupta1 ,

First of all, thank you for providing this amazing Invoice Bluetooth Thermal Printer Extension — it’s really useful!

I wanted to ask if it’s possible to print a logo (PNG image) using this extension before printing the text part of the invoice.
If yes, could you please guide me on how to add and print an image/logo properly (for example, company logo at the top)?

Thank you in advance for your help!

Best regards,
Saheb Kole

i am so sorry for late response currently i am working on a big project so i cant help you for that but as i will get free i will try to include png file printing

1 Like

Many Monthes of the sample output, is NOT Uploaded…

It’s a free extension. Download it and print a sample yourself.

sorry, i was busy therefore unable to upload the sample printout but here is the sample : -

well I’m a teenager and I’ve created this Kodular extension with a lot of effort and learning. I’ve shared it completely free for the community.

If you find it useful and would like to support my work, even a very small contribution would mean a lot and help me continue building more free extensions.

You can support me by sending an Amazon India gift card to akgteck@gmail.com.

Thank you for your support and encouragement! :folded_hands:

Hi Saheb,

First of all, thank you so much for your kind words and for using the Invoice Bluetooth Thermal Printer Extension — I really appreciate it.

Regarding printing a PNG logo before the invoice text: yes, I am actively working on adding image/logo printing support. However, I’m currently facing some limitations while converting and sending PNG image data correctly to the thermal printer, so it’s not working reliably yet.

I kindly request a little more time to work on this feature properly. I want to make sure it’s stable and works well across devices before sharing an update.

Thank you for your patience and understanding. I’ll definitely update the community once this feature is ready.

Best regards,
Ankit