First, what kind of barcode? Most barcodes are just fonts installed on your computer. Once installed, you can just select the text to print in that font. Just test to make sure your barcode reader can then read the barcode you print.
Hope this helps.
Like Mike said, if you are only using Pro on Mac or Windows, then all you need is the barcode font installed on each computer. If your barcode needs leading/trailing characters, or a checksum digit, you will have to build that into the formula that builds the string you need. After that, you just need a field (or merge field) on your layout with the barcode font.
If however, you need it to work on Go or WebDirect, then you don't have as much control over the fonts. In that case, use a solution like the one from Geist that Wim pointed to.
The info going into it is up to you, but it's a simple calc:
PO# & Color & size & Qty
[leading character} & PO# & Color & size & Qty & [trailing character] … if needed.
If you need a checksum, then you'll have to also calculate that, depending on the requirements of your barcode system.
Can you describe the workflow you have in mind in more detail? Is there one barcode for the whole packing list, or a separate barcode for each item on the packing list? (Or both?) Are the barcodes being scanned by your own staff, or by the recipient of the order? If the barcodes are for internal scanning, do you want to place barcodes on the items being packed and scan those to generate the packing list, or do you want to place barcodes on the packing list and scan those to help find which items to pack?
Is the system that will be scanning the barcodes the same system that will be generating them? Packing multiple pieces of information into a single barcode symbol makes the most sense when one application generates the barcodes to be scanned by a separate disconnected system that does not communicate with the first. Otherwise, it's usually better to encode just an entity ID and have the scanning application look-up the rest of the details. This way, the barcode can be smaller (or printed with larger bars, reducing the chance of a misscan), and the details are always up-to-date (whereas the data in a barcode symbol may be out of date if the information changes after the barcode is printed).
If you still want to pack multiple pieces of information into a single barcode, it may be worth skimming the GS1 general specification to see if that standard might suit your needs. In summary, it's a standardized way to encode multiple pieces of information into product tags like barcodes and RFID tags — but mostly barcodes. Each "field" in a barcode might begin with an "application identifier", a short numeric code indicating which field it is, followed by the data. The exact encoding details vary based on which barcode symbology is used.
If you don't find application identifiers in GS1 that suit your needs, or if the whole scheme is too cumbersome for you, you could make your own in-house format with varying degrees of flexibility. On the least flexible end of the spectrum, you could mandate that PO#, color, size, and quantity all be fixed-length fields and always appear in the same order, e.g. PO# might always be 6 digits, then color might always be 3 digits, etc., then the parsing can count characters to know where each piece of information is. GS1 is the opposite end of the spectrum opting for more flexibility. Something in the middle might be requiring the PO, color, size, and quantity always appear in that order, but they are separated by some reserved character so they can each be any length. More sophisticated barcode symbologies like Code 128 include special "function code" characters specifically for this purpose. A scanner will typically represent that character in the output with something like the invisible ASCII "group separator" character, Char ( 29 ) in FileMaker. You could then split out the separate fields from a scanned barcode with something like this:
Set Variable [$barcodeFields; Value: Substitute ( $scannedBarcode ; Char ( 29 ) ; ¶ )]
Set Variable [$purchaseOrderNumber; Value: GetValue ( $barcodeFields ; 1 )]
Set Variable [$color; Value: GetValue ( $barcodeFields ; 2 )]
Set Variable [$size; Value: GetValue ( $barcodeFields ; 3)]
Set Variable [$quantity; Value: GetValue ( $barcodeFields ; 4 )]
As far as generating barcodes goes, I'm biased because I wrote Barcode Creator, the product Wim linked to. As flybynight said, it's a great solution for deployment situations that don't support fonts. However, a decent barcode add-on or plug-in should also take care of adding the correct leading and trailing characters and calculating the appropriate checksum for whatever symbology you're using so you don't have to worry about those details. Barcode Creator also includes special support to make encoding GS1 information in Code 128 symbols easier, if that's the method you wind up using.
Thank you for your feedback. Let me explain my work flow further to you. Actually we are Apparel Sourcing / buying agents, who are monitoring production on customer’s behalf to make sure only quality goods shipped as per given purchase order by customer.
My basic idea of develop barcode enable Packing list to facilitate both my field staff (who goes to factories to inspect the goods and monitor container loading / stuffing) as well to my people in N.Y ware house to verify what they have received against each purchase order before the delivered goods to end customers.
For example, we have received a PO for basic T-shits as follows;
PO #: 12345-14
We need to pack individual size & color, 12 pcs in a box.
In this case I want a separate barcode to be generated for each size in all colors (for example 1234514 01 01), where 1234514 is represent PO#, 01 is for Green color and the trailing 01 is for size small. So barcode # 1234512 01 02 will represent Green color’s size Medium.
This sticker is to be pasted on an export box so upon scanning my field and warehouse staff would verify the actual numbers with the packing list.
I hope I’m able to describe the scenario and logic behind my query.
Will appreciate your help……
Barcode Creator is definitely rock solid and has all the advanced features you'll need.
If you need a lesser or free thing to start out with, I would also check out these resources that use REST and Insert From URL to generate a barcode image to a container field in FileMaker:
So if I understand you correctly, you want to use barcodes to help verify that what was ordered matches what was shipped and what was received. Do I have that right? In that case, it might be worth adding a box number to the data getting scanned, even if it means adding a second barcode. This would help prevent accidentally double-counting the same box, rather than two boxes both containing (for example) small green t-shirts.
Are the staff in NY using the same database as the staff applying the barcode stickers to each box? If so, you can just create a unique ID in your solution for each box and look-up the details of the contents as needed. This would result in a smaller barcode, or a barcode less susceptible to misscans if you print it larger. Of course, this does not preclude including details such as the shirt color, size, and quantity with the human-readable information on the label, which reminds me...
I forgot to give my stock warning that most barcode solutions will want to print a human-readable version of any data encoded in a barcode in case the barcode is rendered unscannable due to lighting conditions or damage sustained during shipping. If you really want to be fancy, I frequently recommend that any IDs that could be entered by hand in these situations have their own check digits in addition to whatever might be included in a barcode as an extra check that the data are entered correctly. For numeric IDs, the Damm algorithm is one of the best check digits mankind has come up with so far. You can easily copy custom functions to create and verify Damm check digits. Other algorithms are available for verifying data that may include text.
In case you were interested in adopting GS1 for encoding multiple pieces of data in your barcodes, I looked-up some application identifiers for you:
Product variant (such as for color, size, or the combination of the two, must be exactly 2 digits): 20
Additional product identification (such as for color or size): 240
Count of items, i.e., quantity: 30
Customer purchase order number: 400
Internal Company Codes, i.e., whatever you want them to mean: 91-99
So for box 1 for P.O. # 12345-14 containing 12 small (1) yellow (02) shirts, you could ask Barcode Creator to generate a GS1-128 symbol with this:
Where we're using 91 for size, 92 for color, and 93 for the box number. Barcode creator would then give you (the base 64 encoding for) this image: