ILLERBiller prints the customer receipt as a proper thermal receipt, sized for the 80mm or 58mm paper roll your printer takes -- not a generic A4/Letter page.

Your chosen paper width is remembered on this device, so you only need to set it once per printer.
Biller's own native app doesn't print directly to a thermal printer from a phone yet. Until then, the simplest way to get a bill onto a phone-connected thermal printer is a companion app:
If you're viewing the bill's print page in an Android phone's browser (Chrome or similar -- not the Biller native app), a Print via RawBT button appears next to the regular Print button. Tap it to send the receipt straight to RawBT -- no share sheet needed -- as long as RawBT is already installed and paired with your printer. If nothing happens after a couple of seconds, RawBT probably isn't installed yet: install it from the Play Store, pair it with your printer, then tap Print via RawBT again.
Printing is optional -- Biller can already get a bill to a customer without paper:
These are handy as a paperless fallback, but they don't replace a printed receipt where your outlet needs one on hand (e.g. cash-drawer or compliance reasons) -- for that, use the desktop or phone printing steps above.
Biller can also print the customer receipt AND kitchen order tickets (KOT) automatically to a network (WiFi/LAN) thermal printer -- no browser print dialog, no manual tap needed. See Printers & printing setup for how to add one, choose its receipt/kitchen role, and test-print it. This printed receipt carries the same customer bill QR code as the on-screen "Show QR" sheet -- the customer can scan it to view their bill, same as a manually printed or RawBT receipt.
If you bump up the quantity of a dish that's already been sent to the kitchen (and tap Update to resend), Biller prints a follow-up ticket showing only the extra quantity -- e.g. +2 Paneer Tikka -- instead of reprinting the whole order, so the kitchen adds the right amount without double-cooking what's already in progress.
Kitchen tickets print large, bold table/item text designed to be read at a glance across a busy kitchen rail, with each item's menu category shown above it and a divider line between items so a multi-item ticket never blurs together. For a table running its own guest-ordered session, items from a later order round print under a Wave 2, Wave 3, etc. header so the kitchen can tell a fresh round apart from the table's earlier order.
If your outlet uses Biller's hosted (cloud) service, the server itself isn't on your restaurant's local network -- so it can't open a direct connection to a network printer's private IP address the way a self-hosted install can. The printer companion app bridges that gap: a small program you run on any always-on machine on your outlet's own network (a spare PC, laptop, or a Raspberry Pi) that connects out to Biller and relays print jobs to your printers locally. No inbound firewall rules or port-forwarding needed -- the connection is always outbound from your network to Biller.
Tap Revoke to unpair -- this immediately disconnects the companion app; pair a new device (or the same one again) to resume printing. This is entirely separate from -- and works alongside -- the direct network printing described above, which still applies unchanged for a self-hosted Biller install already on the same network as its printers.