Skip to content

Receipts

Overview

Receipt settings control what information appears on printed and digital receipts. Configure receipt content, layout, and legal information.

Key Purpose: Customize receipt content and appearance.

Purpose

This page lets you customize what information appears on customer receipts, kitchen tickets, and delivery slips, including header/footer text, logo, tax details, and paper formatting.

Key Concepts

  • Receipt Setting: A per-location configuration object stored on the Location model that controls all receipt display toggles and custom text fields.
  • Auto-Translation: When custom text fields (footer, QR code title) are updated, the ReceiptSettingService automatically translates them into all configured languages using the TranslationService.
  • Receipt Delivery: The ReceiptService sends receipts via email (EmailService) or SMS (SMSService) based on the customer's preferred contact method.
  • Receipt Types: Three distinct formats exist -- customer receipt (full details with payment info), kitchen ticket (items and modifiers only), and delivery receipt (includes customer address and driver instructions).
  • Menu Reload: Saving receipt settings triggers a ReloadMenu event so that connected devices (kiosks, printers) pick up the changes immediately.

Actions

Edit Receipt Content

Toggle which fields appear on the receipt (logo, business name, address, VAT number, tax breakdown, loyalty points, etc.) and set custom header/footer text.

Configure Print Format

Select paper width (58mm or 80mm) and font size (small, medium, large) to match your thermal printer hardware.

Preview Receipt

View a live preview of your receipt layout before saving changes.

Location

  • Backoffice Route: /settings/receipts
  • Backend Controller: app/Http/Controllers/Api/ReceiptController.php
  • Vue Component: src/views/settings/ReceiptsComponent.vue

Fields

Header Text

PropertyValue
Field IDheader_text
LabelHeader Text
TypeTextarea
RequiredNo
Validationmax: 200 characters

Description: Custom text at the top of receipts (below logo).

Examples:

  • "Welcome to Mario's Restaurant"
  • "Thank you for dining with us!"

PropertyValue
Field IDfooter_text
LabelFooter Text
TypeTextarea
RequiredNo
Validationmax: 300 characters

Description: Custom text at the bottom of receipts.

Examples:

  • "Thank you for your order! See you again soon."
  • "Follow us @marios_restaurant"
  • "Allergen information available on request"

PropertyValue
Field IDshow_logo
LabelPrint Logo
TypeToggle
Defaulttrue

Description: Include business logo on receipts.


Show Business Name

PropertyValue
Field IDshow_business_name
LabelShow Business Name
TypeToggle
Defaulttrue

Description: Display business name on receipt.


Show Address

PropertyValue
Field IDshow_address
LabelShow Address
TypeToggle
Defaulttrue

Description: Display location address on receipt.


Show Phone

PropertyValue
Field IDshow_phone
LabelShow Phone Number
TypeToggle
Defaulttrue

Description: Display phone number on receipt.


Show VAT Number

PropertyValue
Field IDshow_vat_number
LabelShow VAT Number
TypeToggle
Defaulttrue

Description: Display VAT registration number (legally required in EU).


Show Tax Breakdown

PropertyValue
Field IDshow_tax_breakdown
LabelShow Tax Breakdown
TypeToggle
Defaulttrue

Description: Show itemized tax amounts by rate.

Example:

VAT 9%:   €1.62
VAT 21%:  €0.84

Show Order Number

PropertyValue
Field IDshow_order_number
LabelShow Order Number
TypeToggle
Defaulttrue

Description: Display order number prominently.


Show Date/Time

PropertyValue
Field IDshow_datetime
LabelShow Date & Time
TypeToggle
Defaulttrue

Description: Display order date and time.


Show Payment Method

PropertyValue
Field IDshow_payment_method
LabelShow Payment Method
TypeToggle
Defaulttrue

Description: Display how the order was paid.


Show Item Modifiers

PropertyValue
Field IDshow_modifiers
LabelShow Modifiers
TypeToggle
Defaulttrue

Description: Display selected modifiers for each item.


Show Item Notes

PropertyValue
Field IDshow_item_notes
LabelShow Item Notes
TypeToggle
Defaulttrue

Description: Display special instructions per item.


Show Customer Name

PropertyValue
Field IDshow_customer_name
LabelShow Customer Name
TypeToggle
Defaulttrue

Description: Display customer name on receipt.


Show Loyalty Points

PropertyValue
Field IDshow_loyalty
LabelShow Loyalty Info
TypeToggle
Defaulttrue

Description: Display points earned and balance.


Paper Width

PropertyValue
Field IDpaper_width
LabelPaper Width
TypeSelect
Options58mm, 80mm
Default80mm

Description: Receipt paper width for formatting.


Font Size

PropertyValue
Field IDfont_size
LabelFont Size
TypeSelect
Optionssmall, medium, large
Defaultmedium

Description: Text size on printed receipts.


Receipt Types

Customer Receipt

Given to customer after payment.

Contents:

  • Logo
  • Business info
  • Order details
  • Payment info
  • Thank you message

Kitchen Ticket

For kitchen preparation.

Contents:

  • Order number (large)
  • Items and modifiers
  • Special instructions
  • Dining option

Delivery Receipt

For delivery orders.

Contents:

  • Customer info
  • Delivery address
  • Order details
  • Driver instructions

Business Logic

Receipt Generation

Order completed


Generate receipt data:
├── Business info (from location)
├── Order details (from transaction)
├── Tax calculations
├── Loyalty info (if applicable)
└── Custom text (header/footer)


Format for output:
├── Print → Thermal printer format
├── Email → HTML template
└── PDF → PDF generation

Customer Impact

Printed Receipt

  • Physical copy for customer
  • Proof of purchase
  • Tax documentation

Email Receipt

  • Digital copy
  • Order confirmation
  • Reorder link

In-App Receipt

  • View in order history
  • Digital proof

Relations

Depends On

  • Locations: Business info from location
  • Branding: Logo from branding
  • Tax Rates: Tax breakdown

Affects

  • Transactions: Receipt attached to order
  • Printers: Receipt format for printing

Business Rules

  • Receipt settings are stored per location as a receipt_setting object on the Location model; each location can have its own configuration.
  • When custom text fields (footer text, QR code title) are updated, the ReceiptSettingService auto-translates them into every configured language via the TranslationService; if the text has not changed, translation is skipped.
  • The ReceiptService determines the delivery channel (email or SMS) by checking the transaction's customer email first, then phone, then the linked customer record.
  • Saving receipt settings fires a ReloadMenu event so connected devices (kiosks, KDS, printers) refresh immediately.
  • Translation keys for receipt text are conditionally included: display_qr_code_title is only translated when the QR code display toggle is on, and footer fields are only translated when custom_footer_text is enabled.

FAQs

  • "Can I have different receipt settings per location?" Yes, receipt settings are stored on each location independently, so multi-location merchants can customize per site.
  • "Are custom header and footer texts automatically translated?" Yes, whenever you save custom text the system auto-translates it into all configured languages using Google Cloud Translate.
  • "How are digital receipts sent?" The system checks for a customer email first (sends via EmailService), then falls back to phone number (sends via SMSService); if neither is available, no receipt is sent.
  • "Does changing receipt settings affect past orders?" No, past transactions retain the receipt as it was at the time of the order; changes only apply to future receipts.
  • "What paper widths are supported?" The system supports 58mm and 80mm thermal paper widths, with 80mm as the default.

Troubleshooting

Problem: Receipt missing information

Causes:

  1. Setting toggled off
  2. Data not available
  3. Template issue

Solutions:

  1. Enable the setting
  2. Ensure data is configured
  3. Check receipt template

Problem: Receipt formatting wrong

Causes:

  1. Wrong paper width
  2. Font size too large
  3. Printer compatibility

Solutions:

  1. Set correct paper width
  2. Reduce font size
  3. Test with printer

Examples

Full Receipt Template

        [LOGO]
    
    MARIO'S RESTAURANT
    ═══════════════════════
    123 Main Street
    Amsterdam, 1012 AB
    Tel: +31 20 123 4567
    
    ───────────────────────
    Order #1234
    15 Jan 2024 12:45
    Type: Delivery
    ───────────────────────
    
    Customer: Jan de Vries
    
    1x Margherita Pizza      €12.50
       - Large               +€3.00
       - Extra Cheese        +€1.50
    1x Garlic Bread           €4.50
    2x Cola                   €5.00
    
    ───────────────────────
    Subtotal                 €26.50
    Delivery Fee              €3.50
    ───────────────────────
    VAT 9%                    €2.52
    ───────────────────────
    TOTAL                    €32.52
    ───────────────────────
    
    Paid: iDEAL ✓
    
    ───────────────────────
    Points Earned: 32
    Your Balance: 482 points
    ───────────────────────
    
    VAT Nr: NL123456789B01
    
    Thank you for your order!
    See you again soon.

Minimal Receipt

    Order #1234
    15 Jan 2024 12:45
    
    1x Margherita Pizza (L)  €17.00
    1x Garlic Bread           €4.50
    2x Cola                   €5.00
    
    TOTAL                    €26.50
    
    Paid: Card

Kitchen Ticket

    ╔═══════════════════════╗
    ║     ORDER #1234       ║
    ║      12:45            ║
    ╠═══════════════════════╣
    ║  ** DELIVERY **       ║
    ╠═══════════════════════╣
    
    1x MARGHERITA PIZZA
       → Large
       → Extra Cheese
       → NO OLIVES
    
    1x GARLIC BREAD
    
    ───────────────────────
    Customer: Jan
    ───────────────────────