AX 12 Barcode
AX 12 Barcode
AX 12 Barcode
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.
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.
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.
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:
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/
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.
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.
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.
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.
by Kurt Hatlevik
Partners can download it here. The documentation is for AX 2012 (without feature pack).
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”.
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 “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 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.
As seen here, the tables are missing the WMSPickPalletId or any SSCC-capable fields.
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.
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.
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
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.
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 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.
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.
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)
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.