Skip to content

Barcode Generator

Designs a label (its size, text lines, price line and barcode) and prints a sheet of them through the browser’s own print dialog, from rows you type or import from a CSV. It reads no items from inventory, writes nothing back and posts nothing. Label templates are saved to your own login, not to the tenant, so a colleague does not see the ones you designed, and labels print at the wrong size unless the print dialog is at 100% scale on the right paper.

Your job, and the screen for it

The jobScreen or tabRead
Print a sheet of labels — set the print dialog to 100% scale on the right paperPrint Barcode tab: rows, Barcode Template, Generate, PrintScreens and menus; Troubleshooting
Design a label template — not on Barcode Settings, which is a mock that saves nothingBarcode Designer tab; adding (+) is the only explicit save, and a name already in use is overwrittenFields
Load rows from a CSV — Import appends, and a comma in an item name shifts the columnsPrint Barcode tab, Download Template and ImportFields
Leave a row out of the print run — Delete Selected does not stop it printingPrint Barcode grid, set the row’s qty to 0Fields
Label items that have no retail barcodePrint Barcode grid, leave the barcode column blank so the item code is encodedFields
Get ready — nothing to set up but a template of your own, since templates are per loginBarcode Designer tabBefore you can use it

Overview

Barcode Generator designs a label — its size, its lines of text, its price line and its barcode — and prints a sheet of them. You type or paste the rows you want (item code, item name, barcode value, price, quantity), pick a saved label template, generate, and print through the browser’s own print dialog.

It is a standalone printing tool. It does not read items from inventory, does not write anything back, and posts nothing. Everything it needs is either typed into the grid or imported from a CSV.

Label templates are saved to your own user settings for this applet, not to the tenant. A colleague signing in on another account does not see the templates you designed.

Where it fits

UpstreamThis appletDownstream
Item codes, names, barcode values and prices — typed in, or pasted from a CSV you exported from Item Maintenance or PricebookThe label grid and the label designerA printed sheet, through the browser
—Label templates stored in your user settingsReused on the Print Barcode tab

Screens and menus

One menu item, Barcode Generator (route barcode), with three tabs:

TabWhat it does
Print BarcodeThe working screen. A grid with columns item_code, item_name, barcode, price, qty — all editable in place — plus checkbox selection, Add Row, Delete Selected, a Barcode Template dropdown, Generate and Print. Two more buttons download a blank CSV template and import a CSV into the grid.
Barcode DesignerWhere a template is built: label Width and Height in centimetres, and a list of lines. Each line has a Type (text, item code, item name, price or barcode), a Value, an Alignment, a Font Size, and — for barcode lines — a Format, Width, Height and Show Text. Add Line, Remove Line, and a Barcode Template dropdown with add and delete dialogs for naming and removing templates. There is no print button on this tab; print from Print Barcode.
Barcode SettingsLooks like a second designer and is not one: fixed sample content, nothing loaded or saved, and a Print button that does nothing (below)
Settings → Default SelectionDefault Company only. The Personalization screen of the same name is not its twin — see Dead screens below.
Settings → Field Settings, Webhook, Feature Visibility, the permission screens, Release Notes, Applet LogRouted; Field Settings does nothing (below), the rest are the shared screens.

Settings → Application Settings is an empty screen with a SAVE button, and Personalization offers a per-user Default Selection and Sidebar; see Configuration for why none of them changes a label.

Barcode Settings is a mock. The tab renders a label designer and a label-settings panel over fixed sample content — lines reading 123456789012 and MYR 29.90, a CODE128 barcode, an 8 cm × 3 cm two-column label — and its print button does nothing. Nothing on that tab is loaded from, or saved to, anywhere. Design labels on the Barcode Designer tab instead.

Configuration

Before you can use it

Nothing. The applet reads no master data and calls no document endpoint. You need a saved label template before Generate produces anything, and that you create yourself on the Barcode Designer tab.

Applet settings

ScreenWhat it holdsVerdict
Settings → Application SettingsNothing. The screen shows only a SAVE button, and pressing it saves nothing.Dead screen
Settings → Field SettingsThe unbound eight-toggle stub — Unit Discount, SST/VAT/GST, WHT, Blanket Order, Segment, G/L Dimension, Profit Center, Project — none of them saved, and a SAVE button that does nothing. The labels belong to a sales-document screen.Dead screen
Settings → Default SelectionDefault Company — the only picker on the screen. The settings record also carries a default ledger and currency, but the screen offers no input for them. What it saves, nothing outside the settings screens reads.Saved; no effect
Personalization → Default SelectionNot a twin: it offers Default Branch and Default Location, not Default Company, and it cannot save — the screen is opened with nothing bound to it, so the first pick throws in the browser and SAVE sends nothing. Nothing in the applet reads either key.Dead screen

The settings that do something are the label templates, and they are not on any Settings screen. Saving a template on the Barcode Designer tab stores it against the applet and the signed-in login — which is why templates are per user and per applet. Behind the save, the browser first looks up this login’s link to the applet and only then writes the template into it. When there is no link (the applet is not installed for that login), saving fails with “You do not have permission to do this” before anything reaches the server. When the link exists but the server refuses the lookup or the write, the cause is the login’s platform permission on that link — read to find it, update to save into it — and the fix is with whoever administers your BigLedger logins, not in this applet.

Each stored template holds the label width and height and the list of lines, each line carrying its type, value, alignment, font size and (for barcodes) format, width and height.

Who can change what

The applet checks no HIDE_* / SHOW_* keys. One placeholder permission, literally named code, may appear for it in the Client-Side Permission screen; nothing checks it, so treat this applet as having no client-side permissions.

Server-side there is nothing to guard beyond the applet’s own installation and the user-settings write described above: the applet reads and writes no business data.

Fields

Print Barcode grid

ColumnMeaningNotes
(checkbox)Row selection, with a select-all headerFeeds Delete Selected
item_codePrinted on the template’s Item Code linesAlso what the barcode encodes when the row’s barcode is empty
item_namePrinted on Item Name lines onlyA template with no Item Name line never prints it
barcodeThe value encoded in the barcode lineEmpty: the item code is encoded instead. For an EAN13 or UPC line the value must be digits of that format’s length. A value that does not fit stops the barcode drawing at that label, so the barcodes on the labels after it are not drawn either (read, not run) — check the column before you Generate
pricePrinted exactly as the grid holds itNo currency symbol, no rounding and no formatting are added. A new row starts at 1, so a row whose price you forgot prints 1. Put the currency in a Text line beside it
qtyHow many copies of this labelNew rows start at 1. Zero, blank or anything that is not a number prints no label for that row, silently

CSV import. Download Template produces barcode_template.csv containing the single header line item_code,item_name,barcode,price,qty. Import appends the parsed file to whatever is already in the grid — it does not replace it, so importing the same file twice doubles the rows. The file is split on every comma with no quoting, so an item name containing a comma pushes the barcode, price and quantity one column to the right; take commas out of names before you import.

Delete Selected does not take rows out of the print run. It removes the ticked rows from the grid you are looking at, but Generate prints from the list the grid was loaded from, which still holds them — and the next Add Row or Import rebuilds the grid from that list, so the deleted rows come back (read, not run). Until you reload the applet, the dependable way to leave a row out is to set its qty to 0: a row with quantity 0 prints nothing. To start a clean sheet, reload the applet — the grid starts empty — and import the file again.

A use beyond shelf labels. Because a blank barcode column encodes the item code, the applet makes internal bin, shelf-edge or carton labels for items that have no retail barcode, with no barcode numbers to set up first. Keep one template per label stock (a template is the label size), and each colleague who prints keeps their own, since templates are per login.

Barcode Designer

FieldMeaningNotes
Barcode TemplateThe named template being editedAdding (+) is the only explicit save: it stores the design on screen under the name you give, and a name already in use is overwritten. While a template is selected, editing a Value, a barcode setting or the line list saves the whole template at once; changing only the label size, a Type, an Alignment or a Font Size saves nothing until one of those happens, so a template switched away from straight after such a change loses it
Width (cm), Height (cm)Physical label sizeThe preview tiles labels at this size across an A4 width (21 cm, 1 cm margins, 0.5 cm gap). The print window re-tiles them into cells at least 200 pixels wide, so narrow labels print fewer per row than the preview shows
TypeText, Item Code, Item Name, Price or BarcodeText prints the Value on every label. For the other four the grid row replaces the Value at generate time, so the Value you type there is only a sample for the preview
Font SizePixels, not pointsNew lines start at 12. On a barcode line it sizes the digits printed under the bars
FormatCODE128, EAN13, UPC or CODE39Barcode lines only; CODE128 when left empty. CODE128 takes plain letters, digits and punctuation; the other three accept narrower sets, so check the row values against the format you pick
Width, HeightWidth of one bar and height of the bars, in pixelsBarcode lines only; 2 and 50 when left empty. Show Text prints the encoded value under the bars and is on unless you untick it

Alignment (left, center or right) applies to the whole line.

Lifecycle and effects

No server document type, no signums, no journal, no stock movement, no queue. The only thing this applet persists is the label templates, and they go into the signed-in user’s applet settings, not into any business table.

Generating and printing. Generate reads the selected template, clones its line list once per grid row (expanding each row qty times), substitutes the row’s item code, name and price into the matching line types, and renders the barcode lines with JsBarcode into the preview area. Print takes the inner HTML of the preview area, writes it into a new browser window together with a CSS grid that tiles the labels, and opens the browser’s print dialog on it. There is no PDF generation and no server round-trip; what comes out depends on the printer and the paper the browser is given.

Related applets

  • Inventory Item Maintenance — where item codes and barcode values are maintained. This applet does not read them; export or copy them into the grid.
  • Pricebook — where the prices you print come from.

Troubleshooting

SymptomCauseFix
The Barcode Template dropdown is emptyNo template has been saved for this login. Templates are per user.Create one on the Barcode Designer tab.
A colleague cannot see the template you designedTemplates are stored against the signed-in login’s applet link, not against the tenant.Each user designs (or re-creates) their own.
Saving a template fails with “You do not have permission to do this”The save first looks up this login’s link to the applet and stops when it finds none — the applet is not installed for that login.Install the applet for that user. If the applet is installed and the save is still refused, the login lacks the platform permission to read or update its own applet link; ask whoever administers your logins.
Nothing appears when you press GenerateNo template is selected, or the selected template has no lines.Pick a template with at least one line.
Importing a CSV twice doubles the rowsImport appends to the grid rather than replacing it.Set qty to 0 on the duplicate rows, or reload the applet and import once. Delete Selected is not a fix: deleted rows still print and return on the next Add Row or Import (see Fields).
Rows you deleted still print, or reappearDelete Selected removes rows from the grid display only; Generate and the next Add Row / Import use the list underneath (read, not run).Set qty to 0 on rows you do not want, or reload the applet for an empty grid.
Some barcodes are missing from the preview, from one label onwardsA barcode value that does not fit the line’s format (an EAN13 or UPC value of the wrong length or with letters) stops the drawing at that label (read, not run).Correct the value, or switch that template’s barcode line to CODE128, then Generate again.
The Barcode Settings tab shows a label you never designed, and its Print does nothingThat tab is a mock over a hard-coded sample design; its print handler is empty.Use Barcode Designer and the Print Barcode tab.
Settings → Application Settings has nothing on itIt genuinely has no controls; the SAVE button posts an empty object.Nothing to configure there.
Setting Default Company changes nothingThe key is saved but read nowhere in the applet.Ignore it.
Labels print at the wrong sizeLayout is browser CSS plus whatever paper size and scaling the print dialog is set to; there is no server-side PDF.Set the label Width and Height on the template, then set the browser print dialog to 100% scale and the right paper.

Related documentation

Last updated on