AX 12 Barcode

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

 Hidden Barcode Secrets in Dynamics AX 2012

Posted over 1 year ago

by Kurt Hatlevik

The utilization of barcoding and barcode readers has transformed business efficiencies of an
incredible number of businesses both large and small. Simple still effective, the bar code as an
invention has made itself indispensable only by the multi-faceted advantages that it is offers to
the user through the entire barcoding spectrum. Some of the killer advantages of these marvelous
invention is.

1: Speed plus Accuracy

A really good information entry operator could enter a Twelve digit number (including product
code one example is) on his PDA in approximately 4-5 seconds, but the average could well be
more like 7 just a few seconds or more. The same operation in case performed with a bar code
scanner would take just one flick in the wrist, less than a second. The use of the bar code
scanners is unmatched to use ability to plough through significant volumes of these operations
effortlessly. While an information entry operator will make keyboard errors whenever he types
with data, the chances of a new barcode reader giving wrong output is actually nonexistent
tending almost for you to zero. For all simple purposes, accuracy is exact, every time this
barcode reader creates its flowing movements over the barcode.

2: Implementation Ease

You decide you need to start using barcodes to your products but are uneasy that you have never
completed it before? Fear not, to get in 10-20 minutes of energy that scenario could possibly get
reversed. The use of barcode readers is almost childishly uncomplicated with no prerequisite
intended for usage. Not only can any individual do it, but they are able to do it quickly in
addition for the learning curve of using barcodes is extremely steep and brief.

3: Bang for the dollar

If you could get information quickly in addition to accurately, it could exclusively mean a tighter
provide chain and well-knit company processes based on these records. With superior
information and facts, you can take excellent business decisions that increase shareholder
benefit. Imagine what disastrous consequences incorrect info could have on your organization! A
vast collection of bar code scanners and barcode code reader usage data has revealed that the
investment made in this technology pays back in as short a time as 6 to 10 months ? Way faster
in comparison with most modern technologies of which attempt to improve the approach we take
to conduct our enterprise. Thus the bar code genre is one the place that the customer truly may
get good value for money and high return on investment.

But there is more.


Did you know that Dynamics AX 2012 do have a complete platform for building barcode
enabled functionality? Dynamics AX is already using this in several places to give us some idea
of how it can be used. A EAN128 barcode label often looks like this.

One of the places where the use has been taken to the extent is in the arrival journal.

Here there is a field for scanning EAN128/UCC128 barcodes. The great thing about EAN128, is
that is the barcode can contain multiple information. So in the example, I have included
pallet/SSCC and itemId, and when is it scanned, the system will automatically fill in the fields
for me :
To give you an insight, I have created the following job-code that shows how to use the barcode
classes:

This will generate the following infolog:

In my example above in the item arrival journal, I just took the Barcode HR, then removed the (),
and pasted it into the arrival journal, and then the decoding happened, and the fields where
automatically filled in.

Out of the box, Dynamics AX can decode the following application identifiers of EAN128:
(00) SSCC – PalletID. The item arrival journal will also create the pallet ID in DAX
(01)+(02) EAN – Itembarcode, that will then identify itemid + product dimensions
(10) Batch
(21) Serial number
(30) Quantity –

But do not despair if you feel something is missing. Microsoft has made it easy for us to extend
the number of application identifiers, that we can fetch out of a EAN128 barcode. Take a look at
\class\BarcodeEAN128 .classDeclaration(): for other EAN128 application identifiers
see http://en.wikipedia.org/wiki/GS1-128
For more information about the barcode foundation in AX 2012, take a look
at http://msdn.microsoft.com/en-us/library/barcode.aspx

I also want to add that the To-Increase WM&D solution are using this technology several places,
and I know that the functionality will be extended as the solution goes forward. The WM&D
solution uses integration toBarTender to produce the labels, but Dynamics AX do have capability
to print barcodes.

Source : http://www.ezinetoparticles.com/3-very-advantages-of-barcoding-and-bar-code-
scanners/

 Automate your AX 2012 Sales Order Processing

Posted over 1 year ago

by Kurt Hatlevik

The first stage of the fulfillment cycle is the way in which your business processes a customer‘s
order. How your business handles orders has a major impact on customer service, from
encouraging initial interest to prompting repeat business. Factors such as price, quality of
product or service, range of goods, stock availability are vital to achieving sales in the first place,
but a responsive, fully automated order-fulfillment procedure plays a key part in overall
customer satisfaction.

Improving how you handle orders


You need to know exactly how well your business deals with order handling before you can
make improvements. You should evaluate how orders are processed by doing the following:

1. Identify the connections between sales, planning, purchasing, etc. Flow charts and
activity diagrams can help you map out your processes and highlight the links. There are
simple software tools like (Microsoft Visio) available to help you do this.
2. Consider linking your systems to those of your customers if you operate in a business-to-
business environment. Find out what systems they use and determine if yours are
compatible.
3. Ask staff for their input – they may be able to help you identify problems and solutions.
4. Encourage customers to give you feedback on how their orders were handled.

Automating your Dynamics AX system can help achieve the speed and efficiency you need from
order processing. It brings together all departments that handle the order, from website or sales
reps to warehouse staff. Tie in your website with other facets of your business, such as planning,
manufacturing and distribution. Connect your suppliers and customers to your Dynamics AX
2012 system. Integrate your sales order processing closely to your website, and when customer
orders arrive in your system they can be automated, and even transformed into purchase orders to
your suppliers. With this they can benefit from more timely, accurate order information, with
invoices sent and processed automatically.

Automating your internal systems may speed up order processing, but remember that some
customers may still prefer personal interaction to maintain the customer service experience.

Ensuring that customer orders are delivered quickly and efficiently is integral to any e-commerce
service. Delivering what you promised relies on seamless interaction between your business
processes and the actual fulfillment service that you have. For those products requiring a
physical delivery, the issues associated with conventional logistics need to be addressed
alongside the technology needed to manage the process.

Dynamics AX 2012 do have many processes that can be automated, and many companies have
already done this. Pretty much can be done without making customizations or choosing an ISV
solution.

Let‘s say we have the following simplified process:

Confirmation
I will not go through the recommended setup for automation, because this varies for very
implementation

The first place we can automate is on the generation of confirmation. You can find the menu
item under Sales and Marketing\Periodic\Sales Update\”Sales order confirmation”
Use the late selection option to make sure that the query specified is used every time the batch is
executed, and also use the print management destination to control the printout or destination of
the form letter. Then set the job into batch, and let it execute once a day, or as often as required.

Picking route
When the shipping date is closing, then release the picking route. You have several options here,
but I‘ll focus on the simple one. You can find the menu item under Sales and
Marketing\Periodic\Sales Update\”Picking list”.
In addition to what is described on the confirmation, make sure that only confirmed sales orders
are sent to picking. Also, if backorder handling is allowed, then enable the ―Reduce quantity‖ so
that the picking route is only released of items you have on hand. There is another option under
the ―other‖-tab, called ―Reservation‖, that I would recommend checking that it is enabled,
because then the items will be reserved against the order. When the picking route is printed, then
pick the items. Put it into batch, and let it run as often as required.

Picking route registration (The manual step)


The next step in the process is that actual picking. Some companies choose to release picking
routes, where the items already transactional picked, and this is a setup on the parameters. But I
prefer and recommend the picking route registration screen, available as a menu item under
―Sales and Marketing”\Journals\Sales orders\”Picking list registration―.
In AX 2012 the picking route can be printed with a barcode version of the picking route id, that
can be scanned into the picking route field on top. The next step is to finalize the picking, and
make the necessary adjustments on quantity, dimensions (like serial, batch, pallet id etc), and
then use the ―UpdatesUpdate all/selected‖ to actually pick the items, and therefore also
updating the on hand values correctly.

Packing slip update


The next step in the automated process is the packing slip update, that is available under “Sales
and Marketing\Periodic\Sales update\”Packing slip”.
Choose only to packing slip update the picking sales orders, and print out the packing slip either
send it automatically on email as a PDF to the customer, or even electronically as a ASN/XML
to the customer. Depending on how the process is, the packing slip batch job can automatically
be printed or sent electronically.

Invoice update
The last step in this automation of sales order processing is the invoicing. The menu item is
placed at ―Accounts receivable\Periodic\Sales Update\Invoice―.
Set the Quantity parameter to ―Packing slip‖, and the invoicing will invoice all packing slip
updated sales orders. Set up the printout and use the print management destination setup to
control where and what should happen with the form letter. Set up the batch-job to run
periodically for automation.

Summary
There are many more options available in Dynamics AX 2012, for consolidation of picking,
packing and invoicing, but my main message is to start to look into automating these processes
to speed up, and reduce the time spent on routine tasks. Let your Dynamics AX 2012 be the
engine that pulls the processes, instead of valuable people that needs to push the processes. This
will free up time to other important tasks.

What I also want to mention is that when the requirements to automation increases, and you
cannot find the solution to your problem in the standard functionality of Dynamics AX, then
please evaluate the To-Increase Warehouse Management and Distribution. Here the automation
has been lifted a few steps to support mass transactional processes and the integration to
warehouse equipment and to freight forwarders.
 Dynamics AX 2012 WMS training material is now available on partner source.

Posted over 1 year ago

by Kurt Hatlevik

Partners can download it here. The documentation is for AX 2012 (without feature pack).

The following topics are covered in this training material:

 Setting Up Warehouse Management


 Receipt and Storage
 Item Picking and Shipping
 RFID in Warehouse Management
 Quarantine Management
 Quality Management
 Inquiries and Reports

Thx Microsoft. Much appreciated.

 Dynamics AX 2012 architecture for carton, packages and pallets

Posted over 1 year ago

by Kurt Hatlevik

When shipping goods, there are many requirements that needs to be fulfilled. You have
the ability to have correct addresses, customer requirements, freight forwarder
requirements and legal requirements. To solve this we have many different “systems” in
Dynamics AX 2012 (and earlier versions) to solve each of these requirements. Some of
these systems are:

 Sales Shipping Stats – Print the std. AX delivery label, and get volumetric
information on the packingslip/invocie.
 Bill of Lading – A document used with the freight forwarder to keep track of
where to deliver the goods.
 Packing material – A system to keep track of fees related to packing material
 Ship carrier integration – A system for integrating to shipping software, like
UPS Worldship og Clipper ship. Can also be used in „test mode“ if you don’t
have such a shipping software.

I have gone as deep as possible into the subject to understand, and my judgment is
“The data model for storing and maintaining package information in Dynamics AX
2012 is a mess!” In reality we have more than 4 different systems for maintaining
package information. In reality this means we could have 4 versions of the truth. And to
cover all eventualities and requirements of a advanced distribution company we need to
make sure that we update all the necessary information in all 4 different systems. If
Microsoft is reading this post, my suggestion for the next release is to combine these
systems into one.

But it can take several years before our customers could benefit from such a change.
So this blog post is about how we can make this work with what we have. First I will go
deep on each of these 4 “systems”.

Sales shipping stats


The first “system” is the Shipping Specification. These are fields you register when you
do packing slips.
Here you can also select to print out the standard AX delivery label.
The design is not very impressive and it clearly needs some customizations to make
this acceptable for any customer of freight forwarder. But I guess that the idea from
Microsoft is that shipment labels is not printed from Dynamics AX, but from a shipping
software.

There also exists an inquiry form, where you can reprint the standard Dynamics AX
2012 delivery labels. I have found this menuitem available in the main manu under
sales –> inqueries –> distribution –> Shipments. (Quite confusing since this is a
terminology used for WMSShipments)
After the packingslip is posted, the user cannot change the data here.

The information of this is stored in a table called SalesShippingStat.

The “filling” of this information is manually done before doing a packing slip update, but
it gets “marked” with Packingslip ID in the following code.
We see from this code, that the Sales Shipping Stat system does not have any
uniqueness on the data or cartons. This code just related to get the summary of weight
and cartons on the packingslip. Also see that the
SalesParameters.useShippingStatOnPackingslip must be enabled for it to work.

Bill of Lading
The bill of lading is a receipt for goods that the carrier agrees to transport and to deliver
to a designated person. It shows the list of goods delivered for transportation. In case of
loss, damage, or delay, the bill of lading is the basis for filing freight claims. The bill of
lading includes information about:

 The customer order.


 The carrier.
 The origin and destination of the shipment.
 The number of units in the shipment.
 Freight charge terms.
 Special instructions.

The bill of lading system is originating from the shipping module, and do not share any
information with the SalesShippingStat system. It makes it possible to create a
formletter like this :
The bill of lading can be both automatically and manually created,
The Bill of lading system is much more comprehensive than the sales shipping stat
system, because it is possible to have some kind of unique ness.

The tables and fields used in this system is the following:

As seen here, the tables are missing the WMSPickPalletId or any SSCC-capable fields.

The tables refers to the following :


The automatic creation of BOL’s are done in the WMSShipment.ship method:
What I would expect from the BOL, is that the uniqueness of each package/pallet would
be more clear. In a consolidated picking scenario we do have the WMSPickPalletID,
that could provide this uniqueness, but this information is never passed into the bill of
lading tables.

There is therefore no way to pass information like SSCC etc, or to use the BOL system
as a basis for ASN/EDI processes. It is all about creating the Bill-Of-Lading document.

Packing material
The third way of dealing with packing material is the Packing material tables

The packing material is primarily for calculating a packing material fee. The table is
normally filled in when a sales invoice is posted.

The tables look like this:


The packing material system therefore seems to only have one single function. To keep
track of packing material fees, and not for logistical purposes.

Shipping carrier integration tables.


The shipping carrier interface feature allows Microsoft Dynamics AX customers to
integrate with shipping software. The shipping software packages can pull information
from Microsoft Dynamics AX, process packages, and then move their information into
Microsoft Dynamics AX, eliminating manual entry and improving tracking visibility.

In the Shipping Carrier Interface for Dynamics AX 2009, Microsoft described this feature
as this in the following whitepaper.
It is intended that the packing is handled in an external shipping, and then later
transferred to Dynamics AX. This is described as a process that
happens between packing slip and invoicing.

It is possible to manually fill in the information, by placing the carrier integration in “test-
mode”. When posting the packing slip update, then the following screen will appear:
If we look deeper into the implementation of this ship carrier system, we see that it is
interesting, because it does contain much what is needed. I would say that it is the best
“survival candidate” of the 4 different systems.

What happens, when the packingslip is posted is the following:


PS! Check out the calculation of the ShipCarrierCODPackage.codAmount. It does not
cover discounts!

The fields in the requester table contains the following:

It is a bit sad, that it does not transfer any information about already created pick
pallets into the ShipCarrierShippingRequest. In a consolidated picking scenario often
these pick pallets have already been created, and it would simply the process of that
was available for the shipping software.
It is in the process made so that the shipping software will return data into a staging
table, that contains the following fields.

What is interesting here, is that the PackageId field, that is actually extended from
WMSPickPalletId. So this means that pallet ID can be returned back. What is missing
is information about width, height, length and volume. But Microsoft have placed this
information in the table ShipCarrierCODPackage:

But this volumetric information is never filled in by standard AX. The table is only
created from AX if there is a COD(Cash On Delivery).

A solution suggestion
There are some facts. We have AX 2012 and AX 2014 is not here yet. Our customers
hate large footprint customizations, because they make upgrades more difficult. And
there is already many dependencies in AX 2012 that we need to take care of. So what
do I do for my customers ? I cheat the system.
1. When picking all picking transactions will be marked with a pick pallet ID.
2. When Packing I have a new table, that is quite large and „flat“, but contains
almost all I need to fiels for my labels, freight charges, weight, volumetric
information ++++
3. After packing is done per shipment, then I will generate information’s into all the
4 systems from the „New architecture“ system, and prevent the standard AX to
generate this information.

This gives me much more control, and also the ability to have uniqueness on all
outbound cargos, tracking +++. And my footprint is ZERO in standard AX, and
compatible with my PDA and label printing system (BTI)

 AX 2012–Kitting revisited

Posted over 1 year ago

by Kurt Hatlevik

I wanted to revist the blogpost I created on kitting, since the kitting is now built also for AX
2012. It is a simple and easy to use customization that many of our customers appriciate,
spesially since it is included in the same model as the Centralized product information form. I
must excuse the picture quality in this post, but I‘m a DAX expert and not a perfect blog stylist.

Kitting is a great alternative for companies that are not equipped with finished goods warehouse
facilities or cannot afford the capital expenditure of setting up a finished goods warehousing
facility. Your company can take advantage of the services that are necessary to forward a product
to market quickly by keeping the component on stock instead of the finished customized product.
With kitting you can also speed up the order processing, because no production orders are
needed.

Kitting and sales order

One of the requirements is to show the kitting structure in the sales order form in Dynamics AX.
Kitting stipulates that there is a hierarchy of items, where only the bottom level is real items that
are purchased, stocked and priced, while the upper levels are phantom BOM items. When a
customer orders a product, the customer only need to relate to the uppermost BOM-level, while
the warehouse workers are picking the actual contents of the kit.

Explosion

Explosion of a phantom BOM items on a sales order is built into the order line processing
procedure, the procedure that takes place every time a sales line is inserted, deleted or updated.

The parameter field Phantom that exists on the item table. This parameter defines if a BOM item
is exploded on the sales line. Explosion of BOM item is performed on all BOM levels and all the
phantom BOM levels create sales lines marked as a kit, while real items create normal sales
lines. The relation between levels for the Kit sales lines is established via a new reference field
related to the sales line. When using the sales order screen, the order looks just like the normal
sales order screen:

By clicking on the ―Show/Hide kit lines‖, all lines are shown inside each kit:
The bottom-level sales lines (real stocked items) should be editable only in terms of quantity,
unit price, line discount amount and multiline discount amount, the rest: delivery dates, etc. is
derived from the uppermost line.

The structure of BOM cannot be manually adjusted: sales lines that are sub levels of the top
phantom BOM cannot be manually added, but unwanted lines can be deleted.

Price and discount calculations

Price amounts and discount amounts are set on the lowest level of BOM only. The price on the
upper level is always the sum of the sub lines.

Field Calculation direction


Sales quantity Calculated downwards
Unit price Calculated upwards
Discount amounts Calculated upwards
Discount percent‘s Calculated downwards
Line amounts Calculated upwards

Inventory transactions to kits


The final kits do not have inventory transactions. The reason for this is that kits are ―virtual
items‖ that do not need a physical picking. It is the sub-components that are picked. Kits are still
being packing slip updated and printed on the invoice. But still it is possible to see the order
process flow of kits, since this can be calculated on the basis of the kit lines. The line quantity
form will therefore still give meaning as shown here.

The Kitting form letter setup form

The display of the kitting structure can be shown per item and customer on confirmation,
packing slip and invoice. To handle this, a new form Kitting form letter setup is available. This
form is following the standard ―Table, Group, All‖ Microsoft Dynamics AX pattern. Here the
user can specify if the kitting structure is printed on confirmation, packing slip and invoice for a
particular customer.

The form is available under Sales and marketing—>Common—>Kitting—>Kitting form letter


setup.

If the Show kitting structure is enabled, the form letter will show the kitting structure as follows:
Kitting FAQ

This sections covers information related to Assembly and Kitting, and is described as a FAQ.

Question Answer
I have a kitting line, but I don‘t have any All exploded kitting lines do not have any inventory
inventory transactions associated to it. transactions. It is only the real items that have
Why? inventory transactions. All statuses on the kit are
based on the containing lines.
Why can‘t I change sales price on a kit. Price on a kit is based on the prices on each
included item. To change the price of a kit, you need
to change the prices on the included items.
How do I set up an item as a kit? A kit needs to be a BOM. The flags ‗Phantom‘ also
need to be enabled. (References tab page in the Item
details form)

In addition, the kit item needs to have a valid BOM


associated to the kit.
How do discounts work on kits? In AX you have 2 types of discounts. Discount
amount and percent. Discount amounts need to be
set on the separate kit lines, while percent can be set
on the kit itself.
How do taxes work with kits? Taxes are calculated on the kit lines, and not on the
kit itself. The taxes and VAT is therefore calculated
like standard AX.
I see on the confirmation and invoice that Yes. This is how kitting works. The sales value and
only the kit contains the sales value, and the prices are placed on the kits and not on the kit lines.
lines are zero. This is also the perception of the customer when he
receives the form letter.
Can I manually add and remove kit lines? Kit lines cannot be manually added, but they can be
manually removed The reason for this is that kitting
is supported in a multilevel structure.
How can I see the kit-lines on my sales You can see the kit lines by clicking on the
order? button Show/Hide kit lineson the sales order form,
or double click on the symbol on the lines
How can I take out statistics on sale of a The customer invoice will contain the information
kit? required. Therefore use information from here when
creating additional statistics/reporting.
I see I get a total available, picked, The total available is calculated on the basis of the
delivered and invoiced on kits. How is this kitting lines. The most restricting kit line will decide
possible? the total available on the kit-header.
Can I part deliver a kit? Yes, by using the deliver now column, and then
starting the picking posting. But it is only possible
to part deliver whole kits. You should not part
deliver sub-items in the kit.
How is returns and credit notes handled for Since kits are items that do not have inventory
kits ? transactions, all returns must be done on the kit-
lines. When creating a return on kitting items, it will
only be the kit-lines you can take a return on.

If this is something that is interesting for your implementation let me know. The solution has
unfortunately a too large footprint in DAX to be distributed as a product, so it is being delivered
as a customization.

You might also like