Royal Mail Mailmark barcode not displaying


I’ve recently started using the current Planetpress Connect Designer in conjunction with the previous Planetpress (v7) Design for composing documents for postal mail (in the UK).

A lot of our datasets are sorted to a UK standard called Royal Mail Mailmark. The sort provides a datafield that contains information that should be converted to a barcode.

In PP v7, we have no issue producing a Mailmark barcode, but when attempting to replicate results in v8 (Connect Designer), the barcode simply doesn’t display. Other barcode types are generated as expected, but it seems to specifically be the Mailmark barcode that is not working.

I’ve attempted to generate a barcode via print proof, using the print server, and sending the job through through Workflow via an “All-in-one” process.

Has anyone had a similar experience and found a solution, or know where to start troubleshooting this?


No issue here, so I would guess the problem may be with the format of the data itself.

Just to test things out, can you hard-code the barcode’s value to AC12345678AZ8 (which is one of the examples provided in the official Royal Mail spec) and see if that displays properly. If it does, then it means the barcode itself works but it just doesn’t like whatever data you are throwing at it.

If it does’t work, well then something is seriously wrong…

PS: to hardcode the value, double-click on your barcode’s script, then click the Expand button and set the script to:

Hi Phil,

Thank you for the quick response.
I’ve tested with your supplied sample data, and it’s worked.

It seems to be our data format then, I’ll do some testing and review things on our end.

Thanks for your assistance in the matter.

I’ve now got a Mailmark barcode that is built using live, sorted data.

However, the barcode will only be produced if the data is encapsulated in quotation marks. Once these are removed, the barcode is no longer produced.

When printed and scanned, the barcode contains the quotation marks in the data.

To remove the quotations, I added one as a text delimiter in the datamapper, but this stops the barcode being generated.

How do I work around this?


Something must still be wrong with your data value if you need to add quotation marks around it to work. Could it be that the data itself contains quotes or double quotes?

The field in the data itself encapsulates the text. The same applies for every other field (including empty fields). When adding the quotation mark as a text delimiter, Connect removes them from all fields, but this same action stops the barcode from generating.

The below is an example of a raw datafile (csv):


This successfully generates a Mailmark barcode (which contains the quotation), until the quotation is added as a text delimiter in the datamapper.

I’ve tested with roughly 50 different unique live Mailmark data fields, and all successfully show while the field is still encapsulated.

Not sure I understand.
Since you are processing a CSV file, you need to specify the quotations marks as your text delimiters in the DataMapper. So using the example you gave, you would get 7 disticinct fields in your record, containing respectively:

COLUMN7 mailmarkdata

The double-quotes are removed from the extracted data since they only serve as text delimiters and do not carry any other meaning of their own.

Now in your template, if you set the barcode’s field to COLUMN7, you will get a barcode that, when scanned, reads as mailmarkdata, without any quotes. If you don’t get that result, then I would suggest you open a ticket with our Support team, they should be able to get to the bottom of this fairly quickly.

Phil, you are entirely correct about the setup of the datamapper. I’ll open a ticket with support, as the barcode just simply doesn’t generate unless I don’t remove the quotations via a text delimiter.

Thanks for you assistance with this, you’ve already helped a great deal.


For users reading in the future.

Once the text delimiters were removed, the designer by default trims insignificant space at the end of a field. The Mailmark barcode is digit sensitive (the number of characters, including blanks, is required to equal a certain amount).

This was resolved by updating the field definition to only trim the left hand side of this column.


ahhhhhh… that makes sense, I should have thought of it. Thanks for updating this post with the resolution, it will surely help others.