Support Documentation
 
Library All Articles

Common

Enhancements

Reference

PosGreen Messages

External Apps

Backblaze

Knowledge Base

Payment Surcharge TEMP Files Fractional Pricing Receipts

Receipt Printing

On this page
Physical Printing Not Happening
Solving Receipt Output isn't as expected
List of Formats wrong

Physical Printing Not Happening

If the issue is "my printer isn't printing", then first you need to isolate if Fieldpine did not queue the print job, or if it was dropped after being handed over to Windows to print. Go into the windows print queue and "pause" the print queue. This will stop output from going to the printer. Then go into the POS and "do whatever" to generate the printing that isn't happening. If you see the print job appear in the print queue, then Fieldpine has likely queued it and the problem lies more Windows side. Keep an eye on "size" of the print job too - very small sizes may indicate bad output is being generated.

If you see job names such as "direct output" typically with small sizes, these are usually commands to cut receipt paper or open cash drawers and can be ignored.

List of Formats wrong

When using template based receipts there is not real limit to the number of various receipt formats that can be used. Each format is defined with values such as name,purpose and URL.

The list of formats is taken from:

  • All loaded settings that match the pattern "Receipt.XXX.Template" which defines the URL. If this setting exists, then the setting "Receipt.XXX.TemplateName" can optionally provide the user friendly name.
    For example
    force:Receipt.MyQuoteJun22.Template=https://example.com/receiptformats/MyQuoteJun22.htm
    force:Receipt.MyQuoteJun22.TemplateName=!!! Quote !!!
    
    Settings can be loaded from any valid settings source, such as fpos.ctl fpos_all.ctl, settings table, settingdist table.

    From within PosGreen, the simplest way to see all settings is to use the debug/settings page

  • If the retailer belongs to retail memberships, these can also provide print templates. These are found in the settingsmembership table (SQL. Keyname='PrintFormat', Layer=51, ControlKey=string).
    When a membership format is shown to the user it has the format "name from membership", such as "Invoice from Toyota"

Solving Receipt Output isn't as expected

Receipts using template (an HTML file defining the receipt contents) use symbols to insert sale specific information when the receipt is generated. If the output generated is not what you expect then there are some debug options in PosGreen to assist (from P2351)

The PosCommand

sale(debug(printfilename=mytest))
will cause the internal generators to use "mytest" as the base file name. This helps isolate and save the specific temporary files. Any temporary file generated will also not be deleted automatically. Mytest can be any valid filename. The generator engine will add extensions it requires, which are typically ".htm" and ".pdf"

The PosCommand

sale(debug(print=symbols))
instructs the symbol translator to write every source line before parsing into the output file. This creates receipts that cannot be used for customer purposes, but does show every symbol and the resulting value

The output of symbols includes lines with "## VERB [SRC] = [RSLT] ##" in the output.

Examples

Tax InvoiceStraight text copied to output
Invoice No: ## Symbol [%SALEID%] = [16958557] ##The symbol %SALEID% was translated and resulted in 16958557 being output
Order No: ## Symbol [%data.activesale.orderno%] = []The symbol %data.activesale.orderno% was translated, but had no value
## If TEST[%data.activesale.store.city%]=TRUE [OVERALL=TRUE] ##
## Symbol [%data.activesale.store.city%] = [Seatoun City] ##
The symbol %data.activesale.store.city% was tested and TRUE, so the symbol was then translated and displayed. If the result had been FALSE, the skipped commands are not included in the output. There can be multiple tests and conditions evaluated and the [OVERALL=?] returns the final status

The Quickcode

debug receipt symbols
will set various debug options. You may use this quickcode when dealing with a remote site where having them enter a quickcode is easier than PosCommands. Specifically this does the following
  1. Sets sale(debug(printfilename=DebugPrint))
  2. Sets sale(debug(print=symbols))