Sie sind auf Seite 1von 158

Documentation

Dynamics AX 4.0 data model overview

Prepared for
Microsoft Corporation
Wednesday, 24 September 2008
Version .1 Draft

Prepared by
Fred Viidul
MBS Consultant
Fred.Viidul@microsoft.com

Contributors
[Document Contributors]
Prepared for Microsoft Corporation

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication and is
subject to change at any time without notice to you. This document and its contents are provided AS IS without warranty of any kind, and should not be
interpreted as an offer or commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented. MICROSOFT
MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

The descriptions of other companies’ products in this document, if any, are provided only as a convenience to you. Any such references should not be
considered an endorsement or support by Microsoft. Microsoft cannot guarantee their accuracy, and the products may change over time. Also, the
descriptions are intended as brief highlights to aid understanding, rather than as thorough coverage. For authoritative descriptions of these products, please
consult their respective manufacturers.

This deliverable is provided AS IS without warranty of any kind and MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, OR OTHERWISE.

All trademarks are the property of their respective companies.

©2005 Microsoft Corporation. All rights reserved.

Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page ii
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Revision and Signoff Sheet

Change Record
Date Author Version Change reference

.1 Initial draft for review/discussion

Reviewers
Name Version approved Position Date

Page iii
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Table of Contents
1  Executive Summary .................................................................................................................... 1 
Business need for the project ........................................................................................................... 1 
Documentation approach ................................................................................................................. 1 
Documentation areas ....................................................................................................................... 1 

2  Introduction ................................................................................................................................. 2 
2.1  Data structure description principles ...................................................................................... 2 
2.2  Dynamics AX overall data structure information ..................................................................... 2 
2.2.1  Currencies ........................................................................................................................ 2 
2.2.2  Table naming .................................................................................................................... 2 
2.2.3  Data area ID ..................................................................................................................... 4 
2.2.4  Rec ID and Rec version .................................................................................................... 4 
2.2.5  Indexes ............................................................................................................................. 4 
2.2.6  Base enumerations ........................................................................................................... 4 
2.2.7  Extended data types ......................................................................................................... 4 
2.2.8  Dimensions ....................................................................................................................... 4 
2.2.9  Relations ........................................................................................................................... 4 
2.2.10  Delete actions ............................................................................................................... 4 
2.2.11  Field groups .................................................................................................................. 4 
2.2.12  Methods ........................................................................................................................ 4 
2.2.13  Automatic fields............................................................................................................. 4 
2.2.14  Views ............................................................................................................................ 4 
2.2.15  Table maps ................................................................................................................... 4 
2.2.16  Transaction tables relation schema............................................................................... 4 

3  Dynamics AX data structures..................................................................................................... 6 


3.1  Ledger transaction data model ............................................................................................... 6 
3.1.1  LedgerTable...................................................................................................................... 7 
3.1.2  Dimensions ....................................................................................................................... 8 
3.1.3  LedgerTableInterval .......................................................................................................... 9 
3.1.4  LedgerTrans ................................................................................................................... 10 
3.1.5  LedgerBalancesTrans ..................................................................................................... 17 
3.1.6  LedgerBalancesDimTrans .............................................................................................. 19 
3.1.7  LedgerBalances .............................................................................................................. 20 
3.1.8  LedgerBalancesDim........................................................................................................ 21 
3.2  Tax system setup data model .............................................................................................. 21 
3.3  Tax transaction data model .................................................................................................. 23 
3.3.1  TaxTable ......................................................................................................................... 23 
3.3.2  TaxReportCollection ....................................................................................................... 26 
3.3.3  TaxTrans ........................................................................................................................ 26 
3.3.4  TaxReportVoucher .......................................................................................................... 31 
3.3.5  Dimensions ..................................................................................................................... 32 
Page iv
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.3.6  LedgerTable.................................................................................................................... 32 


3.3.7  LedgerTrans ................................................................................................................... 32 
3.4  Ledger budgeting data model ............................................................................................... 32 
3.4.1  LedgerBudget ................................................................................................................. 33 
3.4.2  Dimensions ..................................................................................................................... 37 
3.4.3  LedgerTable.................................................................................................................... 37 
3.4.4  BudgetModel................................................................................................................... 37 
3.4.5  ForecastModel ................................................................................................................ 38 
3.4.6  ForecastPurch ................................................................................................................ 38 
3.4.7  ForecastSales ................................................................................................................. 39 
3.4.8  ProjTransBudget ............................................................................................................. 39 
3.4.9  AssetTable ...................................................................................................................... 39 
3.4.10  AssetBook................................................................................................................... 40 
3.5  Fixed assets data structure .................................................................................................. 40 
3.5.1  AssetTrans data structure ............................................................................................... 40 
3.5.2  AssetDepBookTrans data structure ................................................................................ 47 
3.5.3  AssetBudget data structure ............................................................................................. 52 
3.6  Accounts receivables data structure ..................................................................................... 55 
3.6.1  CustTrans Data structure ................................................................................................ 55 
3.6.2  CustInvoiceTrans Data structure ..................................................................................... 63 
3.7  Accounts payables data structure ........................................................................................ 70 
3.7.1  VendTrans Data structure ............................................................................................... 71 
3.7.2  VendInvoiceTrans Data structure .................................................................................... 72 
3.8  Inventory transactions data structure ................................................................................... 74 
3.8.1  InventTrans ..................................................................................................................... 75 
3.8.2  InventDim........................................................................................................................ 78 
3.8.3  InventSum....................................................................................................................... 79 
3.8.4  InventTable ..................................................................................................................... 80 
3.8.5  InventTableModule ......................................................................................................... 80 
3.8.6  CustTable ....................................................................................................................... 81 
3.8.7  VendTable ...................................................................................................................... 81 
3.8.8  BOMTable....................................................................................................................... 82 
3.8.9  RouteTable ..................................................................................................................... 82 
3.8.10  ProjTable .................................................................................................................... 82 
3.8.11  ProjCategory ............................................................................................................... 82 
3.8.12  ProjCategoryGroup ..................................................................................................... 82 
3.9  Production General data model ............................................................................................ 82 
3.9.1  ProdTable ....................................................................................................................... 83 
3.9.2  ProdCalcTrans ................................................................................................................ 91 
3.9.3  ProdBOM ........................................................................................................................ 94 
3.9.4  ProdRoute..................................................................................................................... 101 
3.9.5  ProdRouteJob ............................................................................................................... 106 
3.9.6  ProdRouteTrans ........................................................................................................... 110 

Page v
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.9.7  WrkCtrTable.................................................................................................................. 116 


3.9.8  WrkCtrCapRes .............................................................................................................. 119 
3.10  Bank transactions data structure................................................................................... 122 
3.11  Project transactions data structure ................................................................................ 123 
3.12  Project forecast data structure ...................................................................................... 139 

4  References ............................................................................................................................... 152 

Page vi
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

1 EXECUTIVE SUMMARY

Business need for the project


Dynamics AX as ERP system gathers lot of different data depending on the product usage in the
company, starting from financial data and ending with data from manufacturing, master planning,
human recourses, strategic planning etc. This data is often used by third party products for
reporting and data warehousing purposes. Currently it is lack of information about data model
inside Dynamics AX applications. It is difficult to understand what data is stored in which table and
how these tables are linked to each other. To get this understanding you have to use Dynamics AX
development environment tools and know also product functionality in order to find out best way for
analyses and reporting system based on Dynamics AX data model.

Goal of the current document is to describe main Dynamics AX data tables for the experts who are
not Dynamics AX professionals and want to get data form AX tables for further analyses and
reporting purposes.

Documentation approach
To achieve documentation goals, about describing data model for third party application usage,
each functional Dynamics AX module should next documentation topics to be covered:
1. Main tables relational structure for each documented module
2. Main tables key aggregate data columns description
3. Main tables dimension columns description and filtering suggestions
4. Hints and suggestions how to build and use most common queries in particular business
functionality area

Documentation areas
Document covers next functional areas in Dynamics AX (ordered by general interest towards this
module data):
1. General ledger and Tax
2. Banking
3. Accounts receivables
4. Accounts payables
5. Inventory management
6. Production
7. Project

Page 1
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

2 INTRODUCTION

2.1 Data structure description principles


Current document is created to assist people from data varehousing area to understand Microsoft
Dynamics AX (AX) data structure and find relevan information for reporting and alanyses purposes.
There fore only selected tables are included to the document. Selection principle is functional areas
description regarding central fact and dimension data.
Also not all fields from selected tables are described in the document. Setup and lonx text type
fields are often left out as these have no importance in terms of analyses and reporting.
In the table description there are pointed out dield data type (INTEGER, CHAR(10), REAL etc.).
These are default data types that can be modified accordingly to the customer needs (especially
CRAR type of fields). Therefore it might happen that in real implementation data type for certain
field is other than defined in current document.
Not alla data relations between described tables are defined in the drawings. Relations that are not
so relevand or are evidential are not incuded into the drawings.

2.2 Dynamics AX overall data structure information


Dynamics AX datastructure is described in AX development anviroment, which sommunicates with
SQL server to sünchronize table changes to the SQL server. AX database itself is located in SQL
server. In SQL server level there are defined following objects: tables, fields, primary keys, check
constraints, default values, indexes.
Table primary key / foreign key constraints are not defined in SQL server but stored in AX. It means
that there is not possible (or is wery dangerous) to update or upload data directly to the SQL
database, as business logics controls are defined in AX only. Lot of transactional relations and
primary keys are based on RecId, what is AX generated unique value and creation outside AX
business logis can couse mess in the database.

2.2.1 Currencies
There are three different currency calcilations in AX environment, transaction currency, company
currency and secondary currency.
Transaction currency is currency what is used in relevant transaction (invoice currency, general
ledger transaction currency etc.) Currency code (field named usually CurrencyCode) and rate for
that currency are usually stored in the same table than currency amount.
Company Currency is defined in company information table (CompanyInfo). All transactions are
converted to the company currency accordingly to the currency rate defined in the transaction.
Amount fields meant for company currency are usually ending with capital characters “MST”.
Secondary currency adds possibility to keeb accounting transactions in two different accounting
currencies. This can be used if local company is part of bigger corporation and local and corporate
accounting currencies are different. Secondary currency is also widely used in European countries
who have their own currency, but due to the joining euro zone accounting should be done in two
currencies. Amount fields meant for secondary currency are usually ending with “MSTSecond”.

2.2.2 Table naming


Tables in AX solution are named by certain rule for better understandinf the data model. Usually
first part of table name is defining the functional area that certain taibel is related to. Taböe naming
are following

Table prefix Functional area

Page 2
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ADDRESS* Central address register

AIF* Application Integration Framefork

ASSET* Fixed assets module

BANK* Banking module

BACH* Bach processing functionality

BOM* Bills of material functionality (manufacturing)

COS* Cost accounting module

CUST* Accounts receivables functionality

DEL_* Tables what are not used in the current version, but
are still maintained for version upgrade purposes

DIMENSION* Cross application (financial) dimension tables

EVENT* Alert system tables

FORECAST* Item forecast functionality

HRM* Human recourse management tables

INTERCOMPANY* Tables for intercompany functionality

INTRASTAT* Tables related with intrastate reporting

INVENT* Inventory related functionality tables

KM* Knwledge management module tables

LEDGER* Tables related with general ledger functionality

NUMBERSEQUENCE* Number Sequence setup tables

OLAP* Tables related with Olnine Analytical Processing


functionality in AX

Page 3
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

DEL marked tables and fields,

2.2.3 Data area ID


Virtual companies
DataAreaId is always part of primary key

2.2.4 Rec ID and Rec version


X

2.2.5 Indexes
Detailed information about indexes can be found in database

2.2.6 Base enumerations


X

2.2.7 Extended data types


X

2.2.8 Dimensions
X

2.2.9 Relations
X

2.2.10 Delete actions


X

2.2.11 Field groups


X

2.2.12 Methods
X

2.2.13 Automatic fields


CreatedTransID

2.2.14 Views
X

2.2.15 Table maps

2.2.16 Transaction tables relation schema


In the following schema below is table relation overview about 17 main Dynamics AX transaction
tables. All these tables have separate section in chapter 3, where also related dimension tables
Page 4
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

and most of the data fielas are explained. Some areas are not presented in this overview table, but
they have separate section below (Production, Project Budgeting, Fixed Assets Budgets, Ledger
Budgets etc.)

Figure 1

Page 5
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3 DYNAMICS AX DATA STRUCTURES

3.1 Ledger transaction data model

The core part of an ERP system is general ledger (GL), and at the center of general ledger is the
table where all ledger transactions are recorded in cumulative manner. In Dynamics AX, the table
where ledger transactions are stored is called “LedgerTrans”. The following chapter will describe
the key tables storing data regarding general ledger transactions.. It also describes different
dimensions that can be used for analytical purposes.
The table structure around GL transaction tables is shown in diagram 1. Next, we will look at these
tables and content inside of these tables.
Diagram 1 shows three tables that are dimension type tables (LedgerTable, LedgerTableInterval
and Dimensions) and three other tables that are fact tables (LedgerTrans, LedgerBalancesTrans,
LedgerbalancesDimTrans). LedgerTable is register for financial accounting ledger accounts and
LedgerTableInterval is the setup table where the grouping of different LedgerTable accounts are
described. The Dimensions is the table where additional attributes of the transactions for analytical
purposes are recorded (dimensions in AX are cross system attributes for designed analyses, not
only related with General Ledger functionality). As mentioned earlier, the LedgerTrans table is the
central table where all ledger transactions are stored. The tables LedgerBalancesTrans,
LedgerbalancesDimTrans consist of aggregated data based on data found in LedgerTrans. In
diagram 1, there ale also two views, LedgerBalances and LedgerBalancesDim, that are inturn
aggregated data from tables LedgerBalancesTrans and LedgerbalancesDimTrans.
Table descriptions in more detail:

Page 6
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Figure 2

3.1.1 LedgerTable
LedgerTable describes the chart of accounts. Most of the fields in this table are table are dedicated to general
ledger setup and transaction control. This table can be used as a dimensions table for the LedgerTrans,
LedgerTrans aggregation tables (LedgerBalancesTrans, LedgerbalancesDimTrans), and it can be used as an
aggregated view for ledger balances (LedgerBalancesTrans, LedgerbalancesDimTrans).

Field name Data type Field description

AccountNum CHAR(20) Unique identifier of accounts in the current table. It represents the
account number in the chart of accounts. Sometimes suggested
structure of this code is defined by local law. Based on the value of
this field, financial statements like a balance sheet and a profit and
loss statement are created.
The format of the AccountNum value usually represents the logical
structure of the company balance and profit and loss statement
(accounts starting with 1 are assets while accounts starting with 2
are liabilities etc.)

AccountName CHAR(60) The long name of the account. It can be used as additional
attribute or display name for the dimension.

AccountPIType INTEGER Field that describes the type of the account. This field is an

Page 7
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

enumerated value in AX, but it is stored as integer in a SQL


database. The AccountPIType field can have one of the following
values:

SQL AX value Description


value

0 AccountOperations Profit & Loss type account (not


defined if it is profit or loss)

1 AccountRevenue Profit & Loss type account (defined


as revenue account)

2 AccountCost Profit & Loss type account (defined


as cost account)

3 AccountStatus Balance type account (not defined


if it is asset or liability)

4 AccountActive Balance type account (defined as


asset account)

5 AccountLiable Balance type account (defined as


liability account)

6 Heading Heading type account designed for


reporting design in AX

7 HeadingEmpty Heading type account designed for


reporting design in AX

8 HeadingPage Heading type account designed for


reporting design in AX

9 sum Summary account that sums


accounts with AccountPIType 0-5
incl. Has relation to
LedgerTableInterval where
summing intervals are defined.

10 AccountGroup Summary account like the previous


item. The difference is that the
summing intervals are added to
the table LedgerTableInterval
automatically based on the GL
setting

RecId INTEGER Unique identifier in table.

3.1.2 Dimensions
This table contains analytical dimension values that are used in different transaction tables in the AX modules.
AX default dimensions are department (marketing, financials, production etc.), cost centres (production line no
1, Building x etc.), Projects (project1, project2 etc.). By default in AX there are these three dimensions
available. If needed, additional dimensions can be created to company data model. Dimension foreign key
fields in transaction and setup tables are named as following:
st
1 dimension – DIMENSION

Page 8
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

2nd dimension – DIMENSON2_


3rd dimension – DIMENSION3_
4th dimension – DIMENSION4_
Etc.
Each of these fields refers to the “Dimensions” table “Num” field which has relevant DimensionCode.

Field name Data type Field description

DimensionCode INTEGER Numeric value that describes the dimension sequence to what
dimension value is related:
Value 0 means that Dimension.Num = LedgerTable.Dimension
Value 1 means that Dimension.Num = LedgerTable.Dimension2_
Value 2 means that Dimension.Num = LedgerTable.Dimension3_
Etc.
This relation model is common in AX where dimensions are used

Num CHAR(20) Dimension value for analysis purposes. Can be used as an


analysis dimension when creating analyses cubes

Description CHAR(60) Dimension description. Can be used as additional attribute or


display name for the dimension

InCarge CHAR(10) Relation to EmplTable (Dimensions.InCharge =


EmplTable.EmplId). EmplTable is used to store information about
company employees so each dimension can have an employee
attached to its value. This structure makes available to group
dimensions by employees.

CompanyGroup CHAR(10) Dimension transformational value for consolidation purposes. The


value in the “Num” field is replaced by the value in the
“CompanyGroup” field during the consolidation process (if the
transformation is used)

Closed INTEGER Yes / No type field where Yes indicates, that dimension is closed
and cannot be used in transactions.
Possible values are:

SQL AX value
value

0 No

1 Yes

3.1.3 LedgerTableInterval
A Table that is related to the LedgerTable lines where AccountPIType is 9 or 10. This table can be used for
dimension hierarchy design for ledger account number grouping purposes

Field name Data type Field description

AccountTableID INTEGER Table ID of the relevant table, for the intervals that are described.

Page 9
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Ledger intervals can be defined for different tables.


AccountTableId referring to LedgerTable has value 221.

AccountRecId INTEGER Part of the table’s primary key that refers to the specific row in the
LedgerAccounts table

RecId INTEGER Unique row identifier in the table. RecId is part of the primary key

FromAccount CHAR(20) Reference to the LedgerTable.AccountNum field which identifies


the beginning of the summing interval

ToAccount CHAR(20) Reference to the LedgerTable.AccountNum field which identifies


the end of the summing interval

3.1.4 LedgerTrans
Central table in general ledger where all financial transactions are posted. Transactions in this table can be
created directly using GL journals or indirectly through other AX modules. This table can have (depending on
setup) the most detailed level of information regarding financial transactions. If no transaction level information
is needed, then it is more reasonable to use already aggregated data from views generated from the
LedgerTrans (LedgerBalancesTrans, LedgerbalancesDimTrans)

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

Voucher CHAR(20) Ledger transaction identifier. Several number series are applied
to this identifier as AX creates GL transactions from various
locations. Sometimes the first or last few digits in the voucher
number remain the same by identifying the process that created
the transaction. For example AP006723, where “AP” stands for
account payables and is the identifying process in AX. In some
cases where such rules are used, these prefixes or suffixes can
also be used for analytical purposes.

AccountNum CHAR(20) General ledger account number , foreign key to


Ledgertable.AccountNum. One of the key analysis value in GL

TransDate DATE Date of transaction

AmountMST DECIMAL(28;12) Amounts in the company currency that is defined in


CompanyInfo.CurrencyCode. Amounts can be positive or
negative. Negative transactions are not always credit
transactions. The Transaction type is specified by the
LedgerTrans.Crediting field. If the field has a value of 1 the
transaction is a credit type transaction.

AmountCUR DECIMAL(28;12) Amounts in the transaction currency that is defined in


Ledgertrans.CurrencyCode. Amounts can be positive or
negative. Negative transactions are not always credit
transactions. The transaction type is specified by the
LedgerTrans.Crediting field. If the field has a value of1 the
transaction is a credit type transaction.

CurrencyCode CHAR(3) Currency code defining the transaction currency

Page 10
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

TransType INTEGER Identifies which AX module created the transaction. In some


cases this field can be also blank (GL journals transactions,
fixed asset acquisition, opening transactions, currency rounding)
In following table all possible TransType values are listed:

SQL Value  AX value 
1 Transfer
2 Sales 
3 Purch 
4 Invent 
5 Production
6 Project
7 Interest 
8 Cust 
9 ExchAdjustment 
10 SummedUp
11 Payroll 
12 FixedAssets 
13 CollectionLetter 
14 Vend
15 Payment
16 Tax 
17 Bank 
18 Conversion 
19 BillOfExchange
20 PromissoryNote 
21 Cost 
22 Work 
23 Fee
24 Settlement
Dimension CHAR(10) Analytical Dimension no. 1 value (see also table “Dimensions”
description)

Dimension2_ CHAR(10) Analytical Dimension no. 2 value (see also table “Dimensions”
description)

Dimension3_ CHAR(10) Analytical Dimension no. 3 value (see also table “Dimensions”
description)

Qty DECIMAL(28;12) In journals the transaction quantity can also be defined.

DocumentDate DATE Date of the document. The document can have a different date
than the transaction (for example invoice date and invoice
posting date)

JournalNum CHAR(10) AX transactions are prepared in journals and then posted by the
system where also GL transactions are created. This field refers
to the specific journal in the module where the current
transaction is prepared and posted.

Page 11
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

JournalizeNo CHAR(20) As described in the previous field, AX transactions are entered


to the GL through a number of different journals in different
modules. It is possible to group all these transactions to the
special journal to get s better overview about transactions in the
system. These journals are usually created periodically and can
contain, for example, all transactions for one month.

JournalizeSeqNum INTEGER This field identifies the sequence order of the transaction
belonging to the journal described in field “JournalizeNo”

Posting The field describes which AX process created the transaction in


the table. For example daily journal transaction value is 14
(LedgerJournal)
Using this field it is easy to separate transactions by their
creation origin.

SQL AX value
value
0 None 
1 ExchRateGain
2 ExchRateLoss
3 InterCompany 
4 Tax 
5 VATRoundOff 
6 Allocation
7 InvestmentDuty 
8 Liquidity 
9 MSTDiffSecond 
10 ErrorAccount
11 MSTDiff
12 YearResult 
13 Closing 
14 LedgerJournal 
15 CashDiscount
16 ConsolidateDiffBalance 
17 PaymentFee 
18 TaxReport 
19 TransferOpeningClosing 
20 Bank
21 ConversionProfit 
22 ConversionLoss 
23 TaxWithhold 
31 CustBalance
32 CustRevenue 
33 CustInterest 
34 CustCashDisc 
35 CustCollectionLetterFee 

Page 12
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

36 CustInterestFee 
37 CustInvoiceDisc 
38 CustPayment 
39 CustReimbursement
40 CustSettlement 
41 VendBalance 
42 VendPurchLedger 
43 VendOffsetAccount
44 VendInterest 
45 VendCashDisc 
46 VendPayment 
47 VendInvoiceDisc 
48 VendSettlement
51 SalesRevenue 
52 SalesConsump 
53 SalesDisc 
54 SalesCash
55 SalesFreight 
56 SalesFee 
57 SalesPostage 
58 SalesRoundOff 
59 SalesPackingSlip
60 SalesOffsetAccountPackingSlip 
61 SalesIssue 
62 SalesCommission 
63 SalesOffsetAccountCommission 
64 SalesPckSlipRevenue 
65 SalesPckSlipRevenueOffsetAccount 
206 SalesPackingslipTax 
71 PurchConsump 
72 PurchDisc
73 PurchCash 
74 PurchFreight 
75 PurchFee 
76 PurchPostage
77 PurchOffsetAccount 
78 PurchaseInvoiceRoundOff 
79 PurchMarkupFreight 
80 PurchMarkupCustoms 
81 PurchMarkupInsurance 
82 PurchPckSlp 
83 PurchOffsetAccountPckSlp 
84 PurchReceipt 

Page 13
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

85 PurchStdProfit 
86 PurchStdLoss 
87 PurchStdOffsetAccount 
201 PurchCharge
202 PurchStockVariation 
205 PurchPckSlpPurchase 
203 PurchPckSlpPurchaseOffsetAccount 
204 PurchPckSlpTax
91 InventReceipt 
92 InventIssue 
93 InventProfit 
94 InventLoss 
95 InventStdProfit
96 InventStdLoss 
105 ProdReportFinished 
106 ProdReportFinishedOffsetAccount 
107 ProdIssue
108 ProdIssueOffsetAccount 
109 ProdReceipt 
110 ProdReceiptOffsetAccount 
111 ProdPicklistOffsetAccount 
112 ProdPicklist
113 ProdWIPValuation 
114 ProdWIPIssue 
115 ProdWrkCtrIssue 
116 ProdScrap
117 ProdWrkCtrIssueOffsetAccount 
118 ProdScrapOffsetAccount 
121 ProjCost 
122 ProjPayrollAllocation 
123 ProjWIPCostvalue
124 ProjOffsetAccountItem 
125 ProjStatusAccountItem 
126 ProjTurnover 
127 ProjOnAccount
128 ProjSalesvalue 
129 ProjSalesvalueOffset 
130 ProjAccruedTurnoverProd 
131 ProjWIPProduction 
132 ProJAccruedTurnoverProfit 
133 ProjWIPProfit 
134 ProjNeverLedger 
135 ProjAccruedCost 

Page 14
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

136 ProjWIPCost 
137 ProjAccruedRevenueOnAccount 
138 ProjWIPInvoicedOnAccount 
139 ProjNoLedger
207 ProjAccruedRevenueSubscription 
208 ProjWIPSubscription 
141 PayrollDebitAccount 
142 PayrollCreditAccount
161 FixedAssetsDebit 
162 FixedAssetsCredit 
163 CACLedgerJournalNoOff 
24 ConsolidateDiffProfitLoss 
Correct INTEGER Yes / No type field where information is stored if the current
transaction is a correction transaction.
Yes indicates, that transaction is correction type transaction and
debit and credit amounts are accounted with negative signs, not
to influence credit / and debit turnover. Correction type
transactions are eliminating previously made transactions, that
need to be cancelled (for example invoice crediting routine).
Values in SQL table are:

SQL AX value
value

0 No

1 Yes

Crediting INTEGER Yes / No type field where information is stored if the current line
is credit part of transaction. As transaction types (debit or credit)
can not be identified just by negative or positive amount the
special field for this purpose is defined.
Values in SQL table are:

SQL AX value Description


value

0 No Transaction line type is debit

1 Yes Transaction line type is credit

PeriodCode INTEGER Enumerated value with three possible values. It indicates


accounting period type which applies to the current transaction.
Values are following:

SQL AX value Description


value

0 Opening Transactions belonging to opening


period. Created while transferring
account balances from the old
financial year to the new financial
year

Page 15
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

1 Normal Usual transactions that are created


during the financial year

2 Closing Transactions belonging to the


closing period. These transactions
usually represent specific financial
year closing procedures created by
accountants.

OperationsTax INTEGER Represents the transactions posting layer to general


ledger. According to this field, transactions can be
separated and different accounting principles can be
used. For example, different depreciation profiles for
fixed assets can be used for tax accounting and the
posting layer can be used to separate these
transactions from general accounting.

SQL AX value Description


value

0 Current Normal transactions created from


different AX modules.

1 Operations Special transaction layer, that can


separate special accounting
transactions from general
accounting.

2 Tax Special transaction layer for tax


oriented accounting procedures

AccountMSTSecond DECIMAL(28;12) Accounting in AX can be done in two different currencies. In


this field transaction value is displayed in second currency.
Secondary currency is defined in
CompanyInfo.SecondaryCurrencyCode.

EuroTriangulation INTEGER Transactions what are related with triangular sales and
purchase schema, related with inventory transactions
between European Union member states. These transactions
are used for special Tax reporting.

SQL AX value Description


value

0 No Transaction is not related with


Euro triangulation

1 Yes Transaction is related with Euro


triangulation

FurtherPostingType INTEGER In AX it is possible to define bridged posting in payment


functionality, where the payment is transferred to the middle
account prior to the final transaction.

SQL AX value Description


value

0 No Transaction is not related with


bridged posting functionality

1 Yes Transaction is related with bridged

Page 16
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

posting functionality

TaxRefId Tax transactions are created in a specific tax transaction


table TaxTrans. To ensure unique relationship between
transactions in LedgerTrans and TaxTrans current field is
created, because transaction umber (Voucher) might not be
unique in table LedgerTrans.
Relation model:
LedgerTrans.Voucher = Tactrans.Voucher
LedgerTrans.TaxRefId = Tactrans.TaxRefId

3.1.5 LedgerBalancesTrans
Table contains aggregated data from the LedgerTrans table. Debit and credit transactions from the
LedgerTrans.AmountMST and LedgerTrans.AmountMSTSecond fields are stored in different fields separating
the debit and credit turnover. Also, separation is made for different posting layer transactions based on the
field LedgerTrans OperationsTax. So from one field storing transaction amount (like AmountMST), six different
fields are created, where subsets of that field total amount are stored.
The aggregation level in the table is not best for the reporting. Due to performance considerations a new field
was added to the table primary key “LedgerBalancesVariant”. This field reduces the locking problem inside the
AX data structure, but on the other hand the table needs some further aggregation in order to be optimal for
reporting (see p. 3.1.7). Table aggregation is done by five primary keys.

Field name Data type Field description

AccountNum CHAR(20) Account number foreign key from LedgerTable,AccountNum

PeriodCode INTEGER Enumerated value with three possible values. It indicates the
accounting period type that applies to the current aggregation.
Values are following:

SQL AX value Description


value

0 Opening Transactions belonging to the


opening period. Created while
transferring account balances from
the old financial year to the new
one

1 Normal Usual transactions that are created


during financial year

2 Closing Transactions belonging to closing


period. These transactions usually
represent specific financial year
closing procedures created by
accountants.

TransDate DATE Date of summed transactions. If no transactions made on the


particular date, no line for that date is created.

LedgerBalancesVariant INTEGER Special field used to reduce the locking problem that slows

Page 17
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

down AX posting procedures. This field is a random number


from 0 to19 which is generated based on user session id. It
reduces probability by 20 times that one user needs to wait for
another user while the update has been carried through in the
relevant line. In AX version 2.5 there was no such mechanism
and it caused performance problems due to SQL locking. For
analyses purposes this field should be ignored while
aggregating data. For that reason special views are created
where this field is excluded.

SystemGeneratedUltimo INTEGER Transactions that are generated by systematic job in AX. An


example is can be opening balances lines, which are created
during year end procedures.

DebitMST DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMST for


transaction type “Current” in field LedgerTrans.OperationsTax

CreditMST DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMST for


transaction type “Current” in field LedgerTrans.OperationsTax

DebitOPRMST DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMST for


transaction type “Operations” in field
LedgerTrans.OperationsTax

CreditOPRMST DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMST for


transaction type “Operations” in field
LedgerTrans.OperationsTax

DebitTaxMST DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMST for


transaction type “Tax” in field LedgerTrans.OperationsTax

CreditTaxMST DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMST for


transaction type “Tax” in field LedgerTrans.OperationsTax

DebitMSTSecond DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMSTSecond


for transaction type “Current” in field
LedgerTrans.OperationsTax

CreditMSTSecond DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMSTSecond


for transaction type “Current” in field
LedgerTrans.OperationsTax

DebitOPRMSTSecond DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMSTSecond


for transaction type “Operations” in field
LedgerTrans.OperationsTax

CreditOPRMSTSecond DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMSTSecond


for transaction type “Operations” in field
LedgerTrans.OperationsTax

DebitTaxMSTSecond DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMSTSecond


for transaction type “Tax” in field LedgerTrans.OperationsTax

CreditTaxMSTSecond DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMSTSecond


for transaction type “Tax” in field LedgerTrans.OperationsTax

Qty DECIMAL(28;12) Summed up value from LedgerTrans.Qty

Page 18
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.1.6 LedgerBalancesDimTrans
Basically similar aggregation table as described in p. 3.1.5, but also all analytical dimension combinations are
added to the aggregations calculations.
Table contains aggregated data from table LedgerTrans. Debit and credit transactions from fields
LedgerTrans.AmountMST and LedgerTrans.AmountMSTSecond are stored in different fields separating the
debit and credit turnover. Also separation is made for different posting layer transactions based on the field
LedgerTrans OperationsTax. So from one field storing transaction amount (like AmountMST), six different
fieldd are created, where subsets of that field total amount are stored.
Aggregation level in that table is not best for the reporting. Due to the performance considerations new field
has been added to the table primary key “LedgerBalancesVariant”. This field reduces locking problem inside
AX data structure, but on the other hand table needs some further aggregation in order to be optimal for
reporting (see p. 3.1.8). Table aggregation is done by six primary keys (including all analytical dimension
combinations).

Field name Data type Field description

AccountNum CHAR(20) Account number foreign key from LedgerTable,AccountNum

PeriodCode INTEGER Enumerated value with three possible choice shows what
accounting period type applies to the current aggregation.
Values are following:

SQL AX value Description


value

0 Opening Transactions belonging to opening


period. Created while transferring
account balances from old
financial year to the new one

1 Normal Usual transactions, created during


financial year

2 Closing Transactions belonging to closing


period. These transactions
represent usually specifics
financial year closing procedures
created by accountants.

TransDate DATE Date of summed up transactions. If no transactions made in


particular date, also no line for that date is created.

LedgerBalancesVariant INTEGER Special field created to the table to reduce locking problem what
slowed down AX posting procedures. Field gets random number
from 0 to 19 generated based on user session id. It reduces
probability by 20 times that one user needs to wait for another
user while update has been carried through in the relevant line.
In AX version 2.5 there was no this mechanism and it caused
performance problems due to the SQL locking. For analyses
purposes this field should be ignored while aggregating data.
For that reason special views are created where this field is
excluded.

SystemGeneratedUltimo INTEGER Transactions what are generated by systematic job in AX. One
example can be opening balances lines, what are created during
year end procedures.

Dimension CHAR(10) First dimension value

Page 19
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Dimension2_ CHAR(10) Second dimension value

Dimension3_ CHAR(10) Third dimension value

DebitMST DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMST for


transaction type “Current” in field LedgerTrans.OperationsTax

CreditMST DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMST for


transaction type “Current” in field LedgerTrans.OperationsTax

DebitOPRMST DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMST for


transaction type “Operations” in field
LedgerTrans.OperationsTax

CreditOPRMST DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMST for


transaction type “Operations” in field
LedgerTrans.OperationsTax

DebitTaxMST DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMST for


transaction type “Tax” in field LedgerTrans.OperationsTax

CreditTaxMST DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMST for


transaction type “Tax” in field LedgerTrans.OperationsTax

DebitMSTSecond DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMSTSecond


for transaction type “Current” in field
LedgerTrans.OperationsTax

CreditMSTSecond DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMSTSecond


for transaction type “Current” in field
LedgerTrans.OperationsTax

DebitOPRMSTSecond DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMSTSecond


for transaction type “Operations” in field
LedgerTrans.OperationsTax

CreditOPRMSTSecond DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMSTSecond


for transaction type “Operations” in field
LedgerTrans.OperationsTax

DebitTaxMSTSecond DECIMAL(28;12) Summed up debit value from LedgerTrans. AmountMSTSecond


for transaction type “Tax” in field LedgerTrans.OperationsTax

CreditTaxMSTSecond DECIMAL(28;12) Summed up credit value from LedgerTrans. AmountMSTSecond


for transaction type “Tax” in field LedgerTrans.OperationsTax

Qty DECIMAL(28;12) Summed up value from LedgerTrans.Qty

3.1.7 LedgerBalances
LedgerBalanceTrans is view created on top of table LedgerBalancesTrans table. Purpose of that view is to
eliminate field LedgerBalanceTrans .LedgerBalancesVariant from analyses view. This field is created for
performance acceleration.
It is advised, that for analyses purposes view “LedgerBalances“ is used instead of table “LedgerBalanceTrans”

Page 20
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.1.8 LedgerBalancesDim
LedgerBalanceTrans is view created on top of table LedgerBalancesTrans table. Purpose of that view is to
eliminate field LedgerBalanceTrans .LedgerBalancesVariant from analyses view. This field is created for
performance acceleration.
It is advised, that for analyses purposes view “LedgerBalances“ is used instead of table “LedgerBalanceTrans”

3.2 Tax system setup data model


In the current chapter AX tax system data model is defined. This part of AX data model explains
from database side how the tax transactions are created and how different tax codes are working
together.
Sales tax calculation in AX has two sides: inventory side and customer/vendor side. As shown in
figure 2, source tables where default tax setup is defined are CustTable (customer register) or
VendTable (vendor register, depend if it is sales or purchase) and InventTable (inventory register).
CustTable and VendTable contain tax code from table TaxGroupHeading. Central table in Tax
calculation setup is TaxTable. Tax calculations specified in this table are grouped together in
TaxGroupData by using values from TaxGroupHeading table. Using this structure (see figure 2)
customer and vendor registers are related with one or more tax codes in table TaxTable.
Similar structure is used when linking TaxTable codes with item codes from InventTable. Difference
here is one additional table InventTableModule. This table contains three lines for every line in
InventTable. These three lines are inventory setup for purchase, stock keeping and sales, where
also tax information from table TaxItemGroupHeading is stored. For item taxation purposes tax
grouping is arranged where TaxTable codes are grouped by using table TaxOnItem by using
values from TaxItemGroupHeading table. Using this structure (see figure 2) inventory register is
related with one or more tax codes in table TaxTable.
For each transaction where tax should be calculated there must be two tax codes defined, one from
table TaxGroupHeading and another from TaxItemGroupHeading. Default values are inherited from
customer/vendor table and InventTable as described above. Before transaction posting it is usually
possible to possible to adjust tax group combination setup. Both these tax codes have one or more
tax codes from TaxTable grouped under it. When tax is going to be calculated, only these tax
codes from TaxTable are activated what are defined in both relevant tax groups
(TaxIGroupHeading and TaxItemGroupHeading).
Created tax transactions are stored in table TaxTrans.
Tax rates are stored in table TaData
Figure 3

Page 21
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Page 22
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.3 Tax transaction data model


Central table where all tax related transactions are stored is TaxTrans (see figure 3). Around this
table several dimension tables can be defined. Most of tax calculation and analysis information is
stored in table TaxTable. This table has list of different tax codes in use and also there can be
defined several analysis codes for tax amounts reporting. List of analyses codes for tax reporting is
stored in table TaxReportCollection.
TaxReportVoucher is table where periodical tax payment reports and transaction codes are stored.
Based on the taxation rules it is periodical job where calculated tax amounts are summed up and
liabilities for tax authorities are recognized.
TaxTrans has relation also to the Dimensions, LedgerTable and LedgerTrans tables. Most of tax
transactions have financial transactions linked to it. LedgerTrans is containing financial transaction
information (for detailed description see p. 3.1.4).
Figure 4

3.3.1 TaxTable
Central register for tax calculation codes. Table contains tax calculation principles and several fields for different
analysis and reporting codes.
All fields having names starting with “RepField…” are meant for tax analyses purposes. AX has special logics when
creating tax analysis reports on top of these reporting codes. At the same time by knowing purpose of the fields in
TaxTrans table and using reporting code combination tax reporting solutions can be created using third party products.

Field name Data type Field description

TaxCode CHAR 10 Unique identifier of the sales tax code that is easily identifiable.
The sales tax code identifies a tax that is connected with a sale,

Page 23
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

such as a sales tax, fee, duty, purchase duty, or packing duty.

TaxName CHAR 30 Descriptive name for the sales tax code.

TaxPeriod DATE Code identifying in which the selected sales tax, represented by
the sales tax code, is calculated and paid. The settlement period
(stored in table TaxPeriodHead) includes the terms of payment
and the tax authority.
(TaxTable.TaxPeriod = TaxPeriodHead.Taxperiod)

TaxAccountGroup CHAR 10 Ledger posting group for the selected sales tax code. The value
in this field defines the general ledger accounts to which sales
tax amounts for the sales tax code are automatically posted.

TaxCurrencyCode CHAR 3 Currency in which the sales tax is calculated. If the original
transaction is in another currency, the tax is converted
automatically.

TaxRoundoff REAL The lowest unit for which sales taxes are calculated for the
selected sales tax code.
If taxes should be rounded off to a unit that is 1/100 of the
currency of the tax, the value 0.01 should be defined.

TaxRoundoffType INTEGER Select how calculated taxes are rounded off.

SQL AX value Description


value

0 Normal The amount is rounded off to the


nearest number of decimal points
that is specified in the
TaxRoundOff field.

1 Downward The amount is rounded down to


the nearest number of decimal
points that is specified in the
TaxRoundOff field.

2 Rounding-Up The amount is rounded up to the


nearest number of decimal points
that is specified in the
TaxRoundOff field.

NegativeTax INTEGER Checkbox is selected if negative tax percentage for the sales tax
code is allowed.

SQL AX value Description


value

0 No Not allowed

1 Yes Allowed

TaxCountryRegionType INTEGER Country/region type that controls item receipts and statistics.

SQL AX value
value

0 Domestic

Page 24
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

1 EU

2 EFTA

3 Third Country/
Region

NotEUSalesList INTEGER This check box is checked to exclude the selected sales tax
code from the EU sales list.

SQL AX value Description


value

0 No Tax code is included in the EU


sales list

1 Yes Tax code is excluded from the EU


sales list

RepFieldBaseIncoming CHAR 10 Field in the sales tax report that contains taxable purchases

RepFieldBaseOutgoing CHAR 10 Field in the sales tax report that contains taxable sales

RepFieldBaseUseTax CHAR 10 Field in the sales tax report that contains taxable import

RepFieldTaxFreeBuy CHAR 10 Field in the sales tax report that contains tax-free purchases

RepFieldTaxFreeSales CHAR 10 Field in the sales tax report that contains tax-free sales

RepFieldUseTaxOffset CHAR 10 Field in the sales tax report that contains the transaction that
offsets the use-tax

RepFieldUseTax CHAR 10 Field in the sales tax report that contains use-tax

RepFieldTaxIncoming CHAR 10 Field in the sales tax report that contains sales tax receivables

RepFieldTaxOutgoing CHAR 10 Field in the sales tax report that contains sales tax payable

RepFieldBaseUseTaxOffset CHAR 10 Field in the sales tax report that contains offset taxable import

RepFieldTaxIncomingCreditNote CHAR 10 Field number used to report sales tax on purchase credit notes.

RepFieldBaseOutgoingCreditNote CHAR 10 Field number used to report taxable sales credit notes

RepFieldTaxOutgoingCreditNote CHAR 10 Field number used to report sales tax on sales credit notes.

RepFieldBaseIncomingCreditNote CHAR 10 Field number used to report taxable purchase credit notes

RepFieldUseTaxOffsetCreditNote CHAR 10 Field number used to report offset sales tax on import credit
notes.

RepFieldUseTaxCreditNote CHAR 10 Field number used to report sales tax on import credit notes.

RepFieldBaseUseTaxCredirnote CHAR 10 Field number used to report taxable import credit notes.

RepFieldTaxFreeSalesCreditNote CHAR 10 Field number used to report tax exempt sales credit notes.

RepFieldTaxFreeBuyCreditNote CHAR 10 Field number used to report tax exempt purchase credit notes.

RepFieldBaseUseTaxOffsetCreditNote CHAR 10 Field number used to report offset taxable import credit notes.

Page 25
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.3.2 TaxReportCollection
This table contains different tax reporting codes what can be specified in TaxTable, described in chapter 3.3.1.
All field from TaxTable starting with RepField*** are referring to table TaxReportCollection

Field name Data type Field description

TaxReportField INTEGER Reporting code in numeric format to be linked with different tax
codes in TaxTable reporting fields. Part of table primary key

TaxReportLayout INTEGER Enumbered field what defines reporting format, as different


counties can have different reporting layout. Part of table primary
key

Description CHAR(60) Tax code description

3.3.3 TaxTrans
Central register for sales tax transactions. Table contains all tax transactions generated by AX system. By filtering and
summing different data from this table all kind of sales tax reports can be created.

Field name Data type Field description

RecId DOUBLE Unique identifier of the record, also primary key

Voucher CHAR(20) The voucher number from the original posted transaction. This
is usually generated automatically from a number sequence.
Voucher number in TaxTrans is the same as Voucher number in
LedgerTrans table.

TransDate DATE The date that the transaction was posted. This date determines
the settlement period of tax transactions and the date that the
accrual of interest, if any, begins.

Source INTEGER The source module of the sales tax transaction. This is set
automatically at posting.

SQL AX value Description


value

0 Sales Tax transactions, created


by sales order porting
process

1 Purch Tax transactions, created


by purchase order porting
process

2 Voucher Tax transactions created


by different vouchers
defined in general ledger
module

3 SalesInvoice

4 PurchInvoice

5 FreeTxtInvoice Tax created by free text

Page 26
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

invoice posting

6 CustCollectionLetter Tax created by customer


collection letter posting

7 Tax Transactions created


during periodical tax
payment job

8 CustInterestNote Tax created by customer


interest note posting

9 Project Tax transactions created


by different vouchers
defined in project module

10 ProjectInvoice Tax created by project


invoice posting

11 BankAccountReconsile Tax posted during bank


account reconciliation
process

InventTransId CHAR(20) Identification of inventory transaction in central inventory


transactions table InventTrans.
TaxTrans.InventTransId = InventTrans.InventTransId
Not all tax transactions are related with inventory transaction. In
case there is no relation, TaxTrans.InvenTransId is empty.

TaxCode CHAR(10) Sales tax code from TaxTable to identify what tax is calculated

AccountNum CHAR(20) The ledger account that the selected sales tax transaction is
posted to, usually as part of a summary transaction that is
posted for the entire voucher. The account is determined by the
setup of the ledger posting group of the sales tax code at the
time of posting.

TaxBaseAmount NUMERIC(28;12) The amount in the default currency (company currency) of the
tax base. If the tax base was originally posted in a different
currency, the amount in this field is converted using the
appropriate exchange rate in the Exchange rates form

TaxBaseQty NUMERIC(28;12) The quantity of units that the posted sales tax transaction is
calculated on. For example, packaging duty could be a sales tax
that is calculated on the basis of quantity.

TaxAmount NUMERIC(28;12) The sales tax in the default currency (company currency). If
necessary, the amount is converted using the exchange rates in
the Exchange rates form.

TaxValue NUMERIC(28;12) The tax percentage or amount per unit.

TaxAutoGenerated INTEGER If the check box is selected, the sales tax transaction is an
automatic sales tax transaction that is calculated. If the check
box is cleared, the sales tax transaction is posted manually.
For example when during sales or purchase process tax amount
have been changed manually this field value is “0”. Also
transactions created by periodical tax payment job are marked
as “0”.

Page 27
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value Description


value

0 No Tax transactions are created


manually

1 Yes Tax transactions are created


automatically

TaxDirection INTEGER The direction of the sales tax transaction – payable or


receivable – or the reason for the transaction, such as use tax,
tax-free sales or purchase, or tax transaction.

SQL AX value Description


value

0 IncomingTax Tax based on purchase

1 OutgoingTax Tax based on sales

2 UseTax Tax liability came along with


purchase

3 TaxExemptPurchase Purchase with no tax


calculation

4 TaxExemptSales Sales with no tax calculation

5 TaxTransaction Sales tax transaction from


general ledger. No tax base
amount defined, just amount
if tax

TaxOrigin INTEGER The origin of the selected tax transaction:

SQL AX value Description


value

0 Tax Sales tax, such as sales tax on


purchase orders, sales orders, or
journals.

1 TaxReporting Sales tax payment, such as the


settlement of sales tax.

2 CashDisc Cash discount, for example, from


use of cash discount with a
corresponding correction of sales
taxes.

3 TaxReversed Offset sales tax, such as the offset


of a sales tax transaction.

4 Transfer Transfer, such as an amount that


is moved from one account to
another to adjust a previous
transaction.

Page 28
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

5 Payment Payment, such as a settlement.

TaxInCostPrice NUMERIC(28;12) The sales tax amount that is a use tax and is posted as an
expense in the default (company) currency. Use taxes are
typically sales taxes that cannot be refunded and are added to
the company's expenses.

ExemptTax INTEGER Field what shows if current transaction is tax exempt or not.

SQL AX value Description


value

0 No Usual tax transaction

1 Yes Exempt tax transaction

TaxPeriod CHAR(10) The sales tax settlement period code that is posted on the
selected sales tax transaction

CurrencyCode CHAR(3) The currency code of the sales tax code (field TaxCode) that is
posted on the sales tax transaction.

SourceBaseAmountCur NUMERIC(28;12) The base amount for the tax calculation in the original currency
for the transaction. This is specified in Voucher currency.

TaxBaseAmountCur NUMERIC(28;12) The amount of the tax base in the sales tax code currency. If the
sales tax code currency is not the default currency code, the
amount is converted before the taxes are paid.

SourceTaxAmountCur NUMERIC(28;12) The sales tax amount in the original currency for the transaction.
If the currency code in the Voucher currency field is not the
default code, the amount is converted to the default currency
before sales taxes are paid.

TaxAmountCur CHAR(3) The amount of the sales tax in the sales tax code currency. If
the sales tax code currency is not the default currency code, the
amount is converted before the taxes are paid.

TaxOffsetAccountUseTax NUMERIC(28;12) The ledger account that the payable use tax amount is posted to
for the selected sales transaction (Use tax - Tax liability came
along with purchase).

ChargeAccount CHAR(20) The ledger account that use tax as an expense has been posted
to.

SourceCurrencyCode CHAR(3) The currency code used for the voucher journal.

Dimension CHAR(10) First AX dimension value, specified for particular transaction.


Tax transaction dimensions are inherited from general ledger
transaction.
Relation: Dimensions.Num = TaxTrans.Dimension
Dimensions.DimensionCode = 0

Dimension2_ CHAR(10) Second AX dimension value, specified for particular transaction.


Tax transaction dimensions are inherited from general ledger
transaction.
Relation: Dimensions.Num = TaxTrans.Dimension2_

Page 29
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Dimensions.DimensionCode = 1

Dimension3_ CHAR(10) Third AX dimension value, specified for particular transaction.


Tax transaction dimensions are inherited from general ledger
transaction.
Relation: Dimensions.Num = TaxTrans.Dimension3_
Dimensions.DimensionCode = 2

SourceRegulateAmountCur NUMERIC(28;12) The adjusted sales tax amount in the original currency for the
transaction. For example the field is filled if user changes
manually sales tax amount before posting purchase invoice.
Fields TaxAmount and TaxAmountCur are containing already
changed amount. Field BaseTaxAmountCur reflects original
calculation without the change.

TaxInCostPriceRegulated NUMERIC(28;12) The sales tax amount that is a use tax, is manually adjusted
during entry, and is posted as an expense. Use taxes are
typically sales taxes that cannot be refunded and are added to
the company's expenses.

TaxInCostPriceMST NUMERIC(28;12) The sales tax amount that is a use tax and is posted as an
expense in the default (company) currency. Use taxes are
typically sales taxes that cannot be refunded and are added to
the company's expenses.

TaxInCostPriceCur NUMERIC(28;12) The sales tax amount that is a use tax and is posted as an
expense in the tax code currency. Use taxes are typically sales
taxes that cannot be refunded and are added to the company's
expenses.

EUROTriangulation INTEGER If the check box is selected, the sales tax transaction is included
in an exchange rate triangulation.

SQL AX value Description


value

0 No No EURO triangulation

1 Yes EURO triangulation is active

InvestmentTaxCur NUMERIC(28;12) The investment tax amount in the sales tax code currency. If the
sales tax code currency is not the default currency code, the
amount is converted before the taxes are paid.

InvestmentTaxMST NUMERIC(28;12) The investment tax amount in the default (company) currency. If
necessary, the amount is converted using the exchange rates in
Exchange rates form.

SourceInvestmentTaxCur NUMERIC(28;12) The investment tax in the original voucher currency. If the
currency code is not the default currency code, the amount is
converted before the taxes are paid.

SourceInvestmentTaxCurRegulated NUMERIC(28;12) The investment tax amount after correction. If the currency code
is not the default currency code, the amount is converted before
the taxes are paid.

OperationAccount CHAR(20) The ledger account that the posted sales tax transaction is
posted to at settlement.

TaxRefId INTEGER To ensure relationship between transactions in LedgerTrans


and TaxTrans current field is created, as transaction umber

Page 30
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

(Voucher) might not be unique in table LedgerTrans.


Relation model:
LedgerTrans.Voucher = Tactrans.Voucher
LedgerTrans.TaxRefId = Tactrans.TaxRefId

TaxItemGroup CHAR(10) The item sales tax group that is posted on the selected sales tax
transaction. Relation to the table TaxItemGroupHeading, see
chapter 3.2 for the details.

TaxGroup CHAR(10) The sales tax group that is posted on the selected sales tax
transaction. Relation to the table TaxGroupHeading, see
chapter 3.2 for the details.

ExemptCode CHAR(10) The code for justification of sales tax exemption that can be
printed, for example, on invoices.

SourceBaseAmountCurRegulated CHAR(10) The adjusted tax base amount in the original voucher currency.

3.3.4 TaxReportVoucher
This table contains different tax reporting codes what can be specified in TaxTable, described in chapter 3.3.1.
All field from TaxTable starting with RepField*** are referring to table TaxReportCollection

Field name Data type Field description

TaxPeriod CHAR(10) Displays the settlement period code for the period definition for
the settlement taken from the Sales tax settlement periods table
TaxReportPeriod. Part of primary key.

TransDate DATE Date when the sales tax settlement was posted. Part of primary
key.

RecId DOUBLE Unique record identifier, created by system. Part of primary key.

TaxRepVersion INTEGER Displays the settlement version that is specified when you update
the settlement. This tells you whether the settlement included in
the four following categories:

SQL AX value Description


value

0 Original original settlement

1 Correct all subsequent corrections

2 Latest the latest corrections

3 Total all settlements in the period


interval

Voucher CHAR(20) Displays the voucher number for the settlement update. This
number is retrieved automatically from the number sequence

FromDate DATE Displays the first date in the interval for this settlement period

Page 31
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ToDate DATE Displays the last date in the interval for this settlement period

Corrections INTEGER Sales tax corrections from previous periods, posted with the sales
tax settlement

SQL AX value Description


value

0 No No correction transaction

1 Yes Correction transaction

Reversed INTEGER Reversed transaction. Reversal can be cause of cash discount


setup combined with sales tax.

SQL AX value Description


value

0 No Ordinary tax payment

1 Yes Reversed payment

TraceNum CHAR(20) Trace number for reversal transaction.

3.3.5 Dimensions
TaxTrans table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

3.3.6 LedgerTable
TaxTrans table has relation to the Ledger accounts table by using account number AccountNum field. Please see
ledger accounts table description in p. 3.1.1

3.3.7 LedgerTrans
TaxTrans table has relation to the ledger transactions table LedgerTrans by using voucher number Voucher and
TaxRefId fields. Please see ledger accounts table description in p. 3.1.4

3.4 Ledger budgeting data model


One important part of the functionality in Dynamics AX general ledger area is budgeting. This
functionality is meant for creating general ledger budgets based on chart of accounts and
dimension sets. Data model overview for that functionality is shown in figure 4.
Central table here is LedgerBudget table, where all budgeting configuration and reporting data is
stored. Around this table several parameter tables are designed. BudgetModel table holds

Page 32
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

information about different versions version of general ledger budgets. Also budget hierarchy can
be defined in this table.
Budgeting transactions can be created automatically from other Dynamics AX modules:
- Master Planning: Forecastmodel, ForecastPurch and ForecastSales are tables that have
relation with LedgerBudget table in case budgeting transactions are created automatically from
master planning module.
- Project: ProjTransBudget table has relation with LedgerBudget table in case budgeting
transactions are created automatically from the master planning module.
- Fixed Assets: AssetTable and AssetBookTable have relation with LedgerBudget table in case
budgeting transactions are created automatically from the fixed assets module.
LedgerTable and Dimensions table are main parameter tables for ledger budgeting data models, as
budget is created by ledger accounts and dimensions.
Figure 5

3.4.1 LedgerBudget
Table contains data about ledger budget reporting lines as well as ledger budget setup lines. In ledger budget
setup lines it can be defined by what logics reporting lines are created. For example monthly expense for
100EUR for next 6 month – outcome is 7 new lines totally: 6 reporting lines, created automatically after
manual setup line creation and setup line itself. Reporting lines and setup lines are separated by value in field
Report

Field name Data type Field description

AccountNum CHAR(20) Ledger account number from LedgerTable. Account nom is one
key field in the table as general ledger budgeting is based on
table of accounts.

StartDate DATE Date from which the budget amount will be in effect.

Page 33
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

EndDate DATE Last date of the posting period for this periodic transaction. Used
in setup lines.

FreqCode INTEGER Time interval unit in budget setup lines for creating budget
reporting lines

SQL AX value Description


value

0 Days Number of days specified in field


Freq.

1 Months Number of months specified in


field Freq.

2 Years Number of years specified in field


Freq.

Active INTEGER Marked if the amount should be included in the current budget. By
default, the field is marked as active when a budget line is
created.

SQL AX value Description


value

0 No Inactive

1 Yes Active

Amount REAL Amount by which the line contributes to the budget.

Comment CHAR(60) Comment on the budget transaction. By default, the name of the
ledger account is proposed.

Dimension CHAR(10) First AX dimension value, specified for particular budget


transaction.
Relation: Dimensions.Num = LedgerBudget.Dimension
Dimensions.DimensionCode = 0

Dimension2_ CHAR(10) Second AX dimension value, specified for particular budget


transaction.
Relation: Dimensions.Num = LedgerBudget.Dimension
Dimensions.DimensionCode = 0

Dimension3_ CHAR(10) Third AX dimension value, specified for particular budget


transaction.
Relation: Dimensions.Num = LedgerBudget.Dimension
Dimensions.DimensionCode = 0

Currency CHAR(3) Currency code for the current budget transaction

Qty REAL Specification quantity, if any, for the budgeted amount. This field
can be used when budgeting is needed in some other units than
money.

Price REAL Price used in defined currency when budgeting quantities

Stop INTEGER Indicates whether the current budget transactions should be


excluded from allocations during simulations.
Page 34
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value Description


value

0 No Not stopped

1 Yes Stopped

Key CHAR(10) Period allocation key for allocating the budget for different
periods. Used in setup type lines

ExpandId INTEGER Field is filled in report type budget lines, containing RecId number
referring to setup line what created the report transaction.

Report INTEGER Field is defining if the record is setup type budget line or
reporting type budget line.

SQL AX value Description


value

0 No Transaction is setup type


budgeting line

1 Yes Transaction is reporting type


budgeting line

Cov INTEGER Wether to include the current budget transaction in cash flow
forecast calculations in the General ledger

SQL AX value Description


value

0 No Not included into the cash flow


forecast

1 Yes Included into the cash flow


forecast

CovStatus INTEGER Status of cash flow forecast for the current transaction.

Crediting INTEGER Specifies if the transaction type is credit or debit

SQL AX value Description


value

0 No Transaction type is debet

1 Yes Transaction type is credit

Freq INTEGER Number of time units (days, months, years) jumped per
transaction.
Respectively, 1 and months (FreqCode) for forecasts allocated
per month.
Respectively, 3 and months (FreqCode) for forecasts allocated
per quarter.

TaxGroup CHAR(10) The sales tax group for specification of sales tax on the current
budget transaction.

ModelNum CHAR(10) The budget model number. As one account number can have
several budget versions then different budget model codes can be

Page 35
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

used for that purpose.


Relation: LedgerBudget.ModelNum = BudgetModel.ModelId

AllocateMethod CHAR(10) Methods for allocating the forecast transaction:


None – No allocation takes place. Budget line is reporting type
budget transaction.
Period – Quantity with the number of units defined in the field
FreqCode. This method is used if forecast with the same quantity
per period.
Key – The forecast is allocated according to the period allocation
key specified in the field Key. This method is used if seasonal
variation should be taken into account.

ForecastModelId CHAR(10) Ledger budget functionality has relation with the master planning
module. Forecasts from that module can be transferred to ledger
budget. Current field is reference to the forecast model code used
to create forecasts in master planning module.
Relation: LedgerBudget. ForecastModelId =
ForecastModel.Modelid

AssetId CHAR(20) Ledger budget functionality has relation with the fixed assets
functionality. Fixed asset budget lines from that module can be
transferred to ledger budget. Current field is reference to the
asset ID used to identify asset transactions in the asset module.
Relation: LedgerBudget. AssetId = AssetBudget.AssetId

AssteTransType INTEGER Field identifying what type asset transaction created current
budget line. For detailed list describing possible values in that
field please see field description for AssetTrans.###

AssetBookId CHAR(10) Another field describing relation between asset budget


transactions and ledger budget transaction. One asset can have
several versions for different transaction profiles
Relation: LedgerBudget. AssetId = AssetBudget.BookId

ProjTransId CHAR(20) Ledger budget functionality has relation with the project module.
Project forecast lines from that module can be transferred to
ledger budget. Current field is reference to the project ID used to
identify project transactions in the project module.
Relation: LedgerBudget. ProjTransId = ProjTransBudget.TransId

AutoTrans INTEGER Specifies if budget transactions are created automatically from


project table.

SQL AX value Description


value

0 No Normal budget transactions

1 Yes Budget transaction created


automatically from project
forecasts

InventTableId INTEGER Field is used if transactions are created automatically from master
planning table. Field identifies wether transaction is based on
sales or purchase forecast.

Page 36
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value Description


value

143 143 Transactions based on purchase


forecast (table: ForecastPurch)

144 144 Transactions based on sales


forecast (table: ForecastSales)

InventRecId INTEGER Field is used if transactions are created automatically from master
planning table. Value is unique ID referring to the certain record in
purchase or sales forecast table lines.

3.4.2 Dimensions
LedgerBudget table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

3.4.3 LedgerTable
LedgerBudget table has relation to the Ledger accounts table by using account number (AccountNum field). Please
see ledger accounts table description in p. 3.1.1

3.4.4 BudgetModel
This table contains list of the budgeting models what can be used in LedgerBudget table. BudgetModel table
has two types of transaction types: main model and submodel. Only main models can be created manually
and only main models can be selected to the budget lines in LedgerBudget table. Submodel lines are
describing hierarchy relations between main models.

Field name Data type Field description

ModelId CHAR(10) A unique identifier for the budget model. Part of primary key.

SubModelId CHAR(10) This field has meaning if the row type is submodel. The field
shows what submodel(s) belongs to the main model.
If the budget model is Main type, the SubModelId field has the
same value as ModelId field
The field is part of primary key.

Type INTEGER Defines if the model row is main model or submodel.

SQL AX value Description


value

0 Heading Row type is Main model

1 Submodel Row type is Submodel

Blocked INTEGER Check box to block the budget model and all associated ledger
budgets for modification. When the budgets that are based on the
budget model are approved, selecting this check box prevents
changes to the budgets

Page 37
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Txt CHAR(60) The name of the budget model.

3.4.5 ForecastModel
Table contains list of the forecasting models what can be used in master planning module. As a result forecast
lines are created in to the ForecastPurch and ForecastSales tables. ForecastModel table has two types of
transaction types: main model and submodel. Only main models can be created manually and only main
models can be selected to the forecast lines while creating sales or purchase forecasts. Submodel lines are
describing hierarchy relations between main models.

Field name Data type Field description

ModelId CHAR(10) A unique identifier for the forecast model. Part of primary key.

SubModelId CHAR(10) This field has meaning if the row type is submodel. The field
shows what submodel(s) belongs to the main model.
If the budget model is Main type, the SubModelId field has the
same value as ModelId field
The field is part of primary key.

Type INTEGER Defines if the model row is main model or submodel.

SQL AX value Description


value

0 Heading Row type is Main model

1 Submodel Row type is Submodel

Blocked INTEGER Check box to block the forecast model and all associated
forecasts for modification. When the forecasts that are based on
the forecast model are approved, selecting this check box
prevents changes to the forecasts

Txt CHAR(60) The name of the forecast model.

3.4.6 ForecastPurch
Table contains purchase forecast reporting and setup lines. Table role is similar with LedgerBudget table just
planning is made by item purchase and vendors instead of chart of accounts and dimensions. Please see
detailed overview regarding this table in chapter ###

Field name Data type Field description

ExpandId INTEGER Forecast report row relation to the setup row. Part of primary key.

RecId INTEGER Unique identifier of the row. Part of primary key.

ItemId CHAR(20) Inventory code from inventory module.

ItemGroupId CHAR(10) Inventory group id from inventory module.

Page 38
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

VendAccountId CHAR(20) Vendor code from accounts payable module.

VendGroupId CHAR(10) Vendor group id from accounts payable module.

3.4.7 ForecastSales
Table contains sales forecast reporting and setup lines. Table role is similar with LedgerBudget table just
planning is made by item sales and clients instead of chart of accounts and dimensions. Please see detailed
overview regarding this table in chapter 3.12.1.7

Field name Data type Field description

ExpandId INTEGER Forecast report row relation to the setup row. Part of primary key.

RecId INTEGER Unique identifier of the row. Part of primary key.

ItemId CHAR(20) Inventory code from inventory module.

ItemGroupId CHAR(10) Inventory group id from inventory module.

CustAccountId CHAR(20) Customer code from accounts payable module.

CustGroupId CHAR(10) Customer group id from accounts payable module.

3.4.8 ProjTransBudget
This table is central table for AX project module forecast transactions. There can be several different budgets
in project module: Item, cost, hour, revenue, on-account and work in progress budgets. This table
consolidates all these budget types and project budgets can be sent also to the general ledger budgets table
LedgerBudget. Please see detailed overview regarding this table in chapter 3.11.1.1

Field name Data type Field description

RecId INTEGER Unique identifier of the row. Part of primary key.

ProjId CHAR(10) Project number. Unique project identifier in AX project module

TransId CHAR(20) Project forecast transaction ID. General ledger budget lines
generated automatically from project module have this field filled,
referring to the original project forecast transaction.

3.4.9 AssetTable
This table is central table for AX fixed asset module, containing list of fixed assets in the system. Fixed assets
budgets can be converted to the ledger budget and created lines in LedgerBudget table have relation to the
AssetTable. Please see detailed overview regarding this table in chapter 3.5.1.2

Field name Data type Field description

AssetId CHAR(20) Fixed asset number in the fixed asset register

Page 39
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.4.10 AssetBook
Each fixed asset in the AssetTable can have several accounting profiles (value models), depending on local
legislation and accounting best practices. For that reason LedgerBudget table has relation also to AssetBook,
to identify exactly which asset profile created relevant budget transactions. Please see detailed overview
regarding this table in chapter 3.5.1.3

Field name Data type Field description

AssetId CHAR(20) Fixed asset number in the fixed asset register.

BookId CHAR(10) Fixed asset value model code.

3.5 Fixed assets data structure


Fixed asset functionality in Dynamics AX has three main transaction tables:
1. AssetTrans – fixed asset transactions. Based on this table also relevant transactions are made
to general ledger (table LedgerTrans).
2. AssetDepBookTrans – fixed asset transactions what are not related with general ledger. This
functionality provides additional opportunity to asset analyses.
3. AssetBudget – table that contains fixed asset budget transactions. These transactions can be
converted to general ledger budget.
Below there are detailed descriptions about these three data structures

3.5.1 AssetTrans data structure


Central table here is AssetTrans table. Asset specific tables in this data model are AssetTable
(fixed asset register) and AssetBook (value models for specific fixed assets). Also dimensions table
and fixes asset groups table are in the picture for analyse purposes.
Figure 6

Page 40
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.5.1.1 AssetTrans
In this table most detailed level of fixed asset transactions are stored (acquisitions, revaluations,
depreciations, sales etc.). Each transaction in the AssetTrans table creates also transaction in general ledger
transactions table LedgerTrans. Transactions in LedgerTrans created by fixed asset functionality may be
grouped together in the way that several AssetTrans lines can create one line in LedgerTrans

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

AssetId CHAR(20) Fixed asset code, relation to the fixed asset register (AssetTable)

Txt CHAR(60) Text describing the transaction

TransDate DATE Date of transaction

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

TransType INTEGER Enumeration that describes fixed asset transaction type.


The values in that field can be following:

SQL AX value Description


value
0 None Unspecified, 
should not be used
1 Acquisition   

Page 41
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

2 AcquisitionAdj  Acquisition 
Adjustment 
3 Depreciation  
4 DepreciationAdj  
5 Revaluation   
6 WriteUpAdj   
7 WriteDownAdj   
8 DisposalSale  
9 DisposalScrap   
10 NetBookValue   
11 ProfitLoss   
12 AcqPriorYears   
13 AcqThisYear  
14 AcqAdjPriorYears   
15 AcqAdjThisYear   
16 DepPriorYears   
17 DepThisYear   
18 DepAdjPriorYears  
19 DepAdjThisYear   
20 RevaluePriorYears   
21 RevalueThisYear   
22 WriteUpAdjPriorYears  
23 WriteUpAdjThisYear  
24 WriteDownAdjPriorYears   
25 WriteDownAdjThisYear   
26 CapitalReserve   
27 CapitalReserveTransfer  
28 ExtraordinaryDepreciation   
29 ExtraDepPriorYears   
30 ExtraDepThisYear   
31 DEL_Reclassification  Not used anymore 
32 BonusDepreciation  
33 BonusDepPriorYears   
34 BonusDepThisYear   
Voucher CHAR(20) Transaction voucher number in general ledger

AmountCur REAL Amount in the currency of the transaction

ApprovedBy CHAR(10) Employee who approved the transaction

CurrencyCode CHAR(3) Currency code for the transaction

AmountMST REAL Transaction amount in default currency

PostingProfile CHAR(10) Identification of the transaction posting profile – how the


transaction was posted to the general ledger

AssetGroup CHAR(10) Identification of the fixed asset group

BookId CHAR(10) Value model for the transaction, relation to the AssetBook table

Page 42
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ConsumptionQty REAL Quantity of consumption units for transaction type “Consumption”

ReClassification INTEGER If the fixed asset transaction type has been reclassified?

SQL AX value
value

0 No

1 Yes

3.5.1.2 AssetTable
Fixed asset main register table. In this table non financial fixed asset data is stored (asset name, responsible
person, technical specification etc.).

Field name Data type Field description

AssetId CHAR(20) The fixed asset number for identification

AssetGroup CHAR(10) Fixed asset group to simplify the setup and reporting of assets

Name CHAR(30) Name that identifies the fixed asset. It can be used for search and
filter purposes, as a range, and for sorting in inquiries and reports.

Location CHAR(20) Location for the fixed asset from the list of locations

SerialNum CHAR(20) Serial number for the fixed asset for identifying purposes

InsurancePolicyNum CHAR(20) Insurance policy number for the fixed asset

InsuredValue REAL Value that the fixed asset is insured for

Make CHAR(60) Name of the manufacturer of the item

Model CHAR(60) Model number of the item

GuaranteeDate DATE Date of the start of the guarantee for the fixed asset

MainAssetId CHAR(20) To display a hierarchical component structure, the main fixed


asset for this component asset can be defined. A component fixed
asset can be a main asset for another component asset, which
means the structure can have many levels.

Responsible CHAR(10) Responsible employee name can be selected from the Employee
table (EmplTable)

AssetType INTEGER The fixed asset type. Can be one of the following:

SQL AX value
value
0 Tangible   
1 Intangible   
2 Financial   
3 Land and Buildings   
4 Goodwill  

Page 43
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

5 Other   
BarCode CHAR(20) Bar code digits assigned to the fixed asset

InsuranceDate1 DATE Insurance date field to track insurance end dates

InsuranceDate2 DATE Insurance date field to track insurance end dates

AssetReplaseCost REAL Cost to replace this fixed asset

SortingId CHAR(10) Alternative analytical field for the fixed asset

SortingId1 CHAR(10) Alternative analytical field for the fixed asset

SortingId2 CHAR(10) Alternative analytical field for the fixed asset

TechInfo1 CHAR(254) Field for technical information

TechInfo2 CHAR(254) Field for technical information

TechInfo3 CHAR(254) Field for technical information

LastMaintenance DATE Date of last maintenance

NextMaintenance DATE Date of next maintenance

PhysicalInventory DATE Date of last physical inventory update on this fixed asset

3.5.1.3 AssetBook
Table contains financial data about fixed asset (depreciation method, general ledger porting data, fixed asset
possible sales value etc.) Each fixed asset specified in AssetTable must have at least one related record in
AssetBook table. Asset can have more than one record in AssetBook, it means that financial accounting has
been made for each value model described in AssetBook. It makes easy to create asset accounting for tax
purposes for example.

Field name Data type Field description

AssetId CHAR(20) The fixed asset number for identification

BookId CHAR(10) Identification of the value model.


If fixed assets have been set up for accounting only, one value model
per asset is needed.
If separate tax transactions must be posted, a value model for tax
purposes also must be added to each asset.
Additional value models can be added for other accounting purposes,
such as concern values of the fixed assets or for calculation purposes.

AssetGroup CHAR(20) Fixed asset group to simplify the setup and reporting of assets

Status INTEGER Various statuses are available during the service life of a fixed asset:

SQL AX value Description


value
0 NoAcquisition The default status of each new fixed 
asset until the first acquisition has 
been posted for the value model 
1 Open  The status for a fixed asset that has 
Page 44
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

been acquired 
2 Suspended  The status is assigned to the value 
model manually. Value models with 
this status are not available for posting 
fixed asset transactions and cannot be 
selected in the journals. 
3 Closed  The status is assigned to fixed assets 
when the last depreciation is posted 
and when the net book value becomes 
zero. 
4 Sold  The status is assigned to fixed assets 
and value models that have been 
disposed of by sale 
5 Scrapped  The status is assigned as soon as a 
Disposal ‐ scrap transaction has been 
posted in a journal 
Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

PostingProfile CHAR(10) Identifies how fixed asset transactions are posted to the general
ledger.

Depreciation INTEGER The field indicates that fixed assets can be depreciated

SQL AX value Description


value
0 No Cannot be depreciated 
1 Yes  Depreciation is active 
Lifetime INTEGER When Depreciation periods are part of the setup of the depreciation
calculation, they are used to calculate straight line depreciation and
factor depreciation

LifetimeRest REAL The Depreciation periods remaining limits the number of depreciation
periods that are left and indicates the number of times that
depreciation still must be calculated. For new fixed assets it will be
equal to Depreciation periods. For fixed assets that are partly
depreciated already, it will be less than depreciation periods.

DepreciationConvention INTEGER The depreciation convention for the value model.

DepreciationStartDate DATE The starting date for the first depreciation calculation.

ScrapValue REAL The expected scrap value. This is part of the acquisition price, which
is the value of the fixed asset at the end of its service life.

LastDapreciationDate DATE Date when the depreciation was calculated last time. This date is
updated automatically each time that depreciation is posted for the
fixed asset/value model

VendAccount CHAR(20) The vendor account number from where the fixed asset was
purchased. It is updated automatically when a fixed asset is acquired
using purchase orders.

Page 45
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

PurchId CHAR(20) The identification of the acquisition purchase order

VendInvoiceId CHAR(20) The identification of the acquisition purchase order invoice

AcquisitionPrice REAL The acquisition price to be used in acquisition proposals.

AcquisitionDate DATE The system date when the fixed asset record is entered in the Fixed
assets form. The date can changed if necessary. When an acquisition
is posted, the acquisition date will be updated with the date of the
actual acquisition. If the setup in Parameters allows multiple
acquisitions, this date will be updated every time a new acquisition
has been posted and display the latest acquisition date.

CustAccount CHAR(20) The customer account number where the fixed asset was sold. The
customer account is updated automatically when a fixed asset is
disposed externally using a free text invoice.

CustInvoiceId CHAR(20) Identification of the free text invoice.

DisposalDate DATE The date when the fixed asset was sold or scrapped.

SaleValue REAL The selling price of a fixed asset. The field is updated when a fixed
asset is sold.

SortingId CHAR(10) Alternative analytical field for the fixed asset

SortingId2 CHAR(10) Alternative analytical field for the fixed asset

SortingId3 CHAR(10) Alternative analytical field for the fixed asset

ExeedingNetBookValue INTEGER The check box allows transactions, which would create a net book
value greater than acquisition costs.

SQL AX value
value
0 No
1 Yes   
NegativeNetBookValue INTEGER The check box allows transactions, which would create a negative net
book value for the fixed asset/value model.

SQL AX value
value
0 No   
1 Yes
UsedFromDate DATE The date that the asset was placed in service.

ServiceLIfe REAL The Service life of the fixed asset in years.

3.5.1.4 AssetGroup
This table contains predefined information for asset (depreciation information, asset bookinformationetc.),
what simplifies asset creation process.

Field name Data type Field description

GroupId CHAR(10) Identification of the fixed asset group.

Page 46
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Name CHAR(30) Descriptive name for the fixed asset group.

AssetType INTEGER The fixed asset type. The classification can be used for sorting or
selecting ranges on report.
The fixed asset type. Can be one of the following:

SQL AX value
value
0 Tangible   
1 Intangible   
2 Financial  
3 Land and Buildings   
4 Goodwill   
5 Other   

3.5.1.5 Dimensions
AssetTrans table has relation also to the dimensions table. Please see dimensions table description in p. 3.1.2

3.5.2 AssetDepBookTrans data structure


Data structure is pretty much the same as in AssetTrans. One change is that transactions do not
have relation to dimensions table. Also there is no relation with general ledger transactions in
LedgerTrans.
Figure 7

Page 47
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.5.2.1 AssetDepBookTrans
AssetDepBookTrans table has similar structure than AssetTrans table. Different kind of asset transactions
can be created to this table (acquisition, revaluation, depreciation etc.). Principle difference between these
tables is the fact that AssetDepBookTrans table is not related with general ledger transactions. So each
asset can have several financial accounting models, what do not change anything in general ledger level.

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

ConsumptionQty REAL Quantity of consumption units for transaction type “Consumption”

DepreciationBookId CHAR(10) Depreciation book for the transaction, relation to the


AssetDepBook table

AssetGroup CHAR(10) Identification of the fixed asset group

AmountMST REAL Transaction amount in default currency

CurrencyCode CHAR(3) Currency code for the transaction

AmountCur REAL Amount in the currency of the transaction

TransType INTEGER Enumeration that describes fixed asset transaction type.


The values in that field can be following:

SQL AX value Description


value
0 None  Unspecified, 
should not be used
Page 48
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

1 Acquisition   
2 AcquisitionAdj  Acquisition 
Adjustment 
3 Depreciation  
4 DepreciationAdj   
5 Revaluation   
6 WriteUpAdj   
7 WriteDownAdj  
8 DisposalSale   
9 DisposalScrap   
10 NetBookValue   
11 ProfitLoss   
12 AcqPriorYears  
13 AcqThisYear   
14 AcqAdjPriorYears   
15 AcqAdjThisYear   
16 DepPriorYears   
17 DepThisYear  
18 DepAdjPriorYears   
19 DepAdjThisYear   
20 RevaluePriorYears   
21 RevalueThisYear  
22 WriteUpAdjPriorYears  
23 WriteUpAdjThisYear   
24 WriteDownAdjPriorYears   
25 WriteDownAdjThisYear   
26 CapitalReserve  
27 CapitalReserveTransfer  
28 ExtraordinaryDepreciation   
29 ExtraDepPriorYears   
30 ExtraDepThisYear   
31 DEL_Reclassification Not used anymore
32 BonusDepreciation   
33 BonusDepPriorYears   
34 BonusDepThisYear   
TransDate DATE Date of transaction

Txt CHAR(60) Text describing the transaction

AssetId CHAR(20) Fixed asset code, relation to the fixed asset register (AssetTable)

OriginatingVoucher CHAR(20) The Reference to the general ledger transaction that caused
transaction in the AssetDepBook table

ReClassification INTEGER If the fixed asset transaction type has been reclassified?

SQL AX value
value

0 No

Page 49
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

1 Yes

3.5.2.2 AssetTable
For AssetGrpou table description please see p. 3.5.1.2

3.5.2.3 AssetDepBook
Table contains financial data about fixed asset (depreciation method, general ledger porting data, fixed asset
possible sales value etc.) Each fixed asset specified in AssetTable can have more than one record in
AssetDepBook, it means that asset specific accounting has been made for each depreciation book described
in AsseDeptBook.

Field name Data type Field description

AssetId CHAR(20) The fixed asset number for identification

DepreciationBookId CHAR(10) Identification of the value model.


If fixed assets have been set up for accounting only, one value model
per asset is needed.
If separate tax transactions must be posted, a value model for tax
purposes also must be added to each asset.
Additional value models can be added for other accounting purposes,
such as concern values of the fixed assets or for calculation purposes.

AssetGroupId CHAR(20) Fixed asset group to simplify the setup and reporting of assets

AssetStatus INTEGER Various statuses are available during the service life of a fixed asset:

SQL AX value Description


value
0 NoAcquisition The default status of each new fixed 
asset until the first acquisition has 
been posted for the value model 
1 Open  The status for a fixed asset that has 
been acquired 
2 Suspended The status is assigned to the value 
model manually. Value models with 
this status are not available for posting 
fixed asset transactions and cannot be 
selected in the journals. 
3 Closed The status is assigned to fixed assets 
when the last depreciation is posted 
and when the net book value becomes 
zero. 
4 Sold The status is assigned to fixed assets 
and value models that have been 
disposed of by sale 
5 Scrapped  The status is assigned as soon as a 
Disposal ‐ scrap transaction has been 
posted in a journal 
Page 50
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Depreciation INTEGER The field indicates that fixed assets can be depreciated

SQL AX value Description


value
0 No Cannot be depreciated 
1 Yes  Depreciation is active 
Lifetime INTEGER When Depreciation periods are part of the setup of the depreciation
calculation, they are used to calculate straight line depreciation and
factor depreciation

LifetimeRest REAL The Depreciation periods remaining limits the number of depreciation
periods that are left and indicates the number of times that
depreciation still must be calculated. For new fixed assets it will be
equal to Depreciation periods. For fixed assets that are partly
depreciated already, it will be less than depreciation periods.

DepreciationStartDate DATE The starting date for the first depreciation calculation.

ScrapValue REAL The expected scrap value. This is part of the acquisition price, which
is the value of the fixed asset at the end of its service life.

LastDapreciationDate DATE Date when the depreciation was calculated last time. This date is
updated automatically each time that depreciation is posted for the
fixed asset/value model

VendAccount CHAR(20) The vendor account number from where the fixed asset was
purchased. It is updated automatically when a fixed asset is acquired
using purchase orders.

PurchId CHAR(20) The identification of the acquisition purchase order

VendInvoiceId CHAR(20) The identification of the acquisition purchase order invoice

AcquisitionPrice REAL The acquisition price to be used in acquisition proposals.

AcquisitionDate DATE The system date when the fixed asset record is entered in the Fixed
assets form. The date can changed if necessary. When an acquisition
is posted, the acquisition date will be updated with the date of the
actual acquisition. If the setup in Parameters allows multiple
acquisitions, this date will be updated every time a new acquisition
has been posted and display the latest acquisition date.

CustAccount CHAR(20) The customer account number where the fixed asset was sold. The
customer account is updated automatically when a fixed asset is
disposed externally using a free text invoice.

CustInvoiceId CHAR(20) Identification of the free text invoice.

DisposalDate DATE The date when the fixed asset was sold or scrapped.

SaleValue REAL The selling price of a fixed asset. The field is updated when a fixed
asset is sold.

SortingId CHAR(10) Alternative analytical field for the fixed asset

SortingId2 CHAR(10) Alternative analytical field for the fixed asset

SortingId3 CHAR(10) Alternative analytical field for the fixed asset

ExeedingNetBookValue INTEGER The check box allows transactions, which would create a net book

Page 51
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

value greater than acquisition costs.

SQL AX value
value
0 No
1 Yes
NegativeNetBookValue INTEGER The check box allows transactions, which would create a negative net
book value for the fixed asset/value model.

SQL AX value
value
0 No   
1 Yes
UsedFromDate DATE The date that the asset was placed in service.

ServiceLIfe REAL The Service life of the fixed asset in years.

3.5.2.4 AssetGroup
For AssetGrpou table description please see p. 3.5.1.4

3.5.3 AssetBudget data structure


In the centre of that data structure is budget transaction table AssetBudget. Surrounding parameter
tables are LedgerTable, Dimensions, AssetBook, AssetGroup, AssetTable and BudgetModel.
BudgetModel table can contain some hierarchy by referring to itself.
Figure 8

3.5.3.1 AssetBudget
Table contains budget transactions for fixed assets. Budget transactions can be transferred to the ledger

Page 52
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

budget automatically. Fixed asset budget can be calculated like normal asset transactions, only budgeting
journals are used. So the transaction types are similar than the financial transaction types.

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

BudgetModel CHAR(10) The budget model number. As one fixed asset can have several
budget versions then different budget model codes can be used for
that purpose.
Relation: AssetBudget.BudgetModel = BudgetModel.ModelId

TransType INTEGER Enumeration that describes fixed asset transaction type.


The values in that field can be following:

SQL AX value Description


value
0 None  Unspecified, 
should not be used
1 Acquisition  
2 AcquisitionAdj  Acquisition 
Adjustment 
3 Depreciation   
4 DepreciationAdj  
5 Revaluation   
6 WriteUpAdj   
7 WriteDownAdj   
8 DisposalSale   
9 DisposalScrap  
10 NetBookValue   
11 ProfitLoss   
12 AcqPriorYears   
13 AcqThisYear  
14 AcqAdjPriorYears  
15 AcqAdjThisYear   
16 DepPriorYears   
17 DepThisYear   
18 DepAdjPriorYears  
19 DepAdjThisYear  
20 RevaluePriorYears   
21 RevalueThisYear   
22 WriteUpAdjPriorYears   
23 WriteUpAdjThisYear  
24 WriteDownAdjPriorYears   
25 WriteDownAdjThisYear   
26 CapitalReserve   
27 CapitalReserveTransfer   
28 ExtraordinaryDepreciation  
29 ExtraDepPriorYears   
30 ExtraDepThisYear   

Page 53
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

31 DEL_Reclassification  Not used anymore 
32 BonusDepreciation   
33 BonusDepPriorYears   
34 BonusDepThisYear  
TransDate DATE Date of transaction

AssetId CHAR(20) Fixed asset code, relation to the fixed asset register (AssetTable)

AmountCur REAL Amount in the currency of the budget transaction

Txt CHAR(60) Text describing the budget transaction

LedgerAccount CHAR(20) Account number for posting in General ledger budget

LedgerAccountOffset CHAR(20) Offset account number for posting in ledger budget

CurrencyCode CHAR(3) Currency code for the transaction

BudgetPostingStatus INTEGER Posting status for the budget.


Either Posted to fixed asset budgets or Posted to ledger budgets.

SQL AX value Description


value

0 Notposted Not posted

1 PostedToAssets Posted to fixed asset budgets

2 PostedToBudgets Posted to ledger budgets

BookId CHAR(10) Value model for the transaction, relation to the AssetBook table

ConsumptionQty REAL Quantity of consumption units for transaction type “Consumption”

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

3.5.3.2 AssetTable
For AssetTable table description please see p. 3.5.1.2

3.5.3.3 AssetBook
For AssetBook table description please see p. 3.5.1.3

3.5.3.4 AssetGroup
For AssetGrpoup table description please see p. 3.5.1.4

Page 54
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.5.3.5 BudgetModel
For BedgetModel table description please see p. 3.4.4

3.5.3.6 Dimensions
LedgerBudget table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

3.5.3.7 LedgerTable
LedgerBudget table has relation to the Ledger accounts table by using account number (AccountNum field).
Please see ledger accounts table description in p. 3.1.1

3.6 Accounts receivables data structure


Below two different data structures for accounts receivables are described:
1. CustTrans – central table for customer transactions. Based on that table customer balance can
be calculated. All invoices and payments are recorded to this table and also link between
invoice and payment is maintained.
2. CustInvoiceTrans – this table contains invoice line information. By using this information sales
analyses can be performed answering questions like:
a. What items and services are sold to what customers
b. Which items/services are best selling
c. What are sale margins and cost price for sales

3.6.1 CustTrans Data structure


Figure 9

Page 55
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.6.1.1 CustTrans
All kind of customer transactions are recorded in this table. In addition to most common transactions like invoices
and payments, also different periodical transactions are stored in this table (exchange adjustment, customer
settlement etc.). All transactions in CustTrans table, cause also changes in general ledger transactions table
LedgerTrans.

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

AccountNum CHAR(20) Unique identifier of a customer who pays the invoice.

Voucher CHAR(20) The voucher number for the related ledger transaction.

Invoice CHAR(20) The invoice number that the transaction is related to

Txt CHAR(60) Descriptive text for the current transaction

AnmountCur REAL The total amount of the transaction in the specified currency

SettleAmountCur REAL The settled portion of the transaction amount in the currency that was
used for the settlement

AmountMST REAL The amount of the transaction in the default currency for the

Page 56
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

company

SettleAmountMST REAL The settled portion of the amount in default currency, including any
exchange rate adjustments and penny differences

CurrencyCode CHAR(3) The currency code for the transaction

DueDate DATE The date by which the customer must pay the full amount (without
the cash discount)

LastSettleVoucher CHAR(20) Invoice for example can be settled against several payments. This
voucher refers to the settlement voucher number from the latest
payment.

LastSettleDate DATE The date of the last settlement, related with the previous field

LastExcAdjVoucher CHAR(20) The voucher number for the latest exchange rate adjustment for the
transaction

Closed DATE If the transaction has been settled, the date for the full settlement is
displayed. This date corresponds to the transaction date of the final
payment. If the field is empty, the transaction has not yet been fully
settled.
For example, if a prepayment posted on January 1 is settled against
an invoice posted on February 1, the invoice date is displayed.

TransType INTEGER Field is determined by the function that generated the transaction.
From that value it can be monitored from which AX functional area
the transaction was created.
Possible values are:

SQL AX value
value
0 None 
1 Transfer 
2 Sales 
3 Purch
4 Invent 
5 Production 
6 Project 
7 Interest 
8 Cust
9 ExchAdjustment 
10 SummedUp 
11 Payroll 
12 FixedAssets 
13 CollectionLetter
14 Vend 
15 Payment 
16 Tax 
17 Bank
18 Conversion
19 BillOfExchange 
20 PromissoryNote 

Page 57
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

21 Cost 
22 Work 
23 Fee 
24 Settlement
ApprovedBy CHAR(10) The initials or identification of the employee who approved the
transaction

Approved INTEGER If this check box is selected, the transaction has been approved

SQL AX value Description


value
0 No  Not approved 
1 Yes  Approved 
Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

ExchAdjustment REAL If invoicing was done in a foreign currency, and if an exchange rate
adjustment was made between the time of invoicing and the time of
payment, then the amount of the exchange rate adjustment in the
default currency is displayed in this field

LastExchAdj DATE The date of latest rate adjustment for the transaction

Correct INTEGER If this check box is selected, the transaction is a correction of another
transaction

Settlement INTEGER If this check box is selected, the transaction can be settled
automatically. If the check box is cleared, the transaction must be
settled manually

CompanyBankAccountId CHAR(10) The bank account for your company that is affected by the selected
transaction

PaymMode CHAR(10) The payment method used for this customer transaction (bank file
types, payment steps etc.).

PaymReference CHAR(20) A reference to a specific payment. Used for linking invoices and
payments together through specific identifier.

PaymMethod INTEGER The terms of payment used for this transaction.


Values can be:

SQL AX value Description


value
0 Net  The payment deadline is after 
certain time period (days, months) 
1 Curr. Mth. The payment deadline is at the end 
of current month 
2 Curr. Qtr.  The payment deadline is at the end 
of current quarter 
3 Curr. Year. The payment deadline is at the end 
of current year 
4 Curr. Week.  The payment deadline is at the end 
of current week 
Page 58
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

5 C.O.D  Cash On Delivery – money is paid 
when goods/services are delivered 
CashPayment INTEGER The payment must be done by using cash (not checks)

SQL AX value
value
0 No   
1 Yes   
DeliveryMode CHAR(10) Mode of delivery according to the means of transport relevant for the
current order

PostingProfile CHAR(10) Identification of the transaction posting profile – how the transaction
was posted to the general ledger

OffsetRecId INTEGER Reference to the settlement transactions.


If the transaction is invoice the field refers to the relevant payment
RecId.
If the transaction is payment the field refers to the relevant invoice
RecId
Relation: RecId = OffsetRecId

EUROTriangulation INTEGER Selected if the exchange rate is included in EURO triangulation


schema.

OrderAccount CHAR(20) Unique identifier of a customer who receives the goods/services.

CashDiscountCode CHAR(10) Cash discount relevant for the current transaction

Prepayment INTEGER If this is check box is selected, the payment is a prepayment.

SQL AX value
value

0 No

1 Yes

CustExchAdjustmentRealized REAL The unrealized exchange adjustment amount of this transaction

CustExchAdjustmentUnrealized REAL The realized exchange adjustment amount of this transaction

BillOfExchangeId CHAR(20) The bill of exchange identifier that corresponds to the transaction

BillOfExchangeStatus INTEGER Displays one of the following bill of exchange statuses:

SQL AX value
value
0 None   
1 Drawn   
2 Redrawn   
3 Protested
4 Honored   
5 Remitted   
6 Invoiced   
7 InvoicedRemitted   
BillOfExchangeSeqNum INTEGER Displays the number 1 for the first cycle of a bill of exchange and the

Page 59
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

number 2 for the first redraw action

CollectionLetterCode INTEGER The collection letter code that is included in the collection letter for
the transaction

CancelledPayment INTEGER Payment in the table is cancelled

3.6.1.2 CustPaymModeTable
Table what contains different payment modes what can be used by customers.

Field name Data type Field description

PaymMode CHAR(10) Unique identifier for the method of payment. For example, BANK
for the method for bank payments from customers. This field is
primary key.

Name CHAR(30) Enter a short description of the payment method

BankTransType INTEGER The transaction type for the bank account. Used for analytical
purposes

3.6.1.3 CustSettlement
Table, where invoice and payment settlement transactions are stored. In case invoice is paid partially, there
are several settlement transactions, showing which payment amount is covering relevant invoice. Also one
payment can cover more than one invoice, in this case several invoice settlement lines are referring to one
payment lines. This table is closely related with CustTrans table reference is made by using RecId fields.
Information from this table is needed, when historical invoice and payment status has to be monitored. Current
status of customer balance is available in CustTrans, but balances for specific date in the past need to be
calculated by using data from CustSettlement table

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

TransRecId INTEGER Related transaction RecId in the CustTrans table. Defines the
transaction based on what the settlement transactions is created

TransDate DATE The settlement date

OffsetTransVoucher CHAR(20) Reference to the settled voucher number

AccountNum CHAR(20) Customer account number, relation to CustTable

SettleAmountCur REAL The amount of the settlement transaction in the specified currency

SettleAmountMST REAL The amount of the settlement transaction in the company


currency (exchange adjustments included)

ExchAdjustment REAL Exchange rate adjustment amount calculated during the


settlement

OffsetRecid INTEGER Related offset transaction RecId in the CustTrans table. Defines
the transaction what was settled with the base transaction.

DueDate DATE Deadline for the invoice payment

UtilizedCashDisc REAL Cash discount what was calculated to the customer

Page 60
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

CustCashDiscDate DATE Date when the cash discount is calculated

PennyDiff REAL Penny difference adjustments made during the settlement

CanBeReversed INTEGER If “yes”, then transaction can be manually reversed back to the
opened transactions. Value of that field is “no” in case the
transactions are several times closed and then opened. Only last
closing has opportunity to be reversed to the open.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

3.6.1.4 CustTable
Central client register table. Statistic and setup values are defined in this table.

Field name Data type Field description

AccountNum CHAR(20) Unique identifier of a customer

Name CHAR(60) Name of the customer. This name is printed on documents, such
as invoices and account statements.

InvoiceAccount CHAR(20) Invoice account, to which the customer is linked. The invoice
account is the account to which the invoice amount is debited. If
no invoice account is defined, the customer account is used as the
invoice account.

CustGroup CHAR(10) Customer group that the customer belongs to. Customer group
contains number of setup parameters regarding general ledger
posting and payment management.

SalesGroup CHAR(10) Sales group that is attached to the selected customer. The
sales group includes a sales representative for the customer.

Blocked INTEGER Blocking that applies to the selected customer account.


Values can be:

SQL AX value Description


value
0 No  No blocking. All forms of transaction 
are permitted. 
1 Invoice  Account is blocked for 
picking/delivery/invoicing. 
2 All  All transactions are blocked. 
OneTimeCustomer INTEGER Customer is a one-time customer, created automatically by the
system.

CrediMax REAL Maximum amount that the selected customer is allowed to have as
an outstanding account balance.
This amount is always stated in the default currency of the
customer.

MandatoryCreditLimit INTEGER Check box to enforce automatic credit limit check.

Page 61
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

VendAccount CHAR(20) Vendor account number, if any, of the selected customer (in case
the customer is also registered as a vendor). If a customer has a
credit amount because of overpayment or a credit note, the
reimbursement periodic job transfers the amount to the vendor
account of the customer.

PriceGroup CHAR(10)

MulitiLIneDisc CHAR(10) Multiline discount group that the customer belongs to.

EndDisc CHAR(10) Total discount group that the customer belongs to. The total
discount group determines which discounts are calculated
automatically. Total discounts are given for a total order.

CountryRegionId CHAR(10) Country/region of the customer address.

DlvTerm CHAR(10) The standard terms of delivery for the selected customer (FOB,
FAS, EXW etc.).

DlvMode CHAR(10) Mode of delivery that applies to sales to the selected customer
(air, water, railway etc.).

ZIpCode CHAR(10) Postal/ZIP code of the customer address. This code is often used
for searching and sorting.

State CHAR(10) State of the customer address. This field is often used for
searching and sorting.

County CHAR(10) Country/region of the customer address.

StatisticsGroup CHAR(10) Statistics group that the customer is attached to, used especially
for statistical purposes.

PaymMode CHAR(10) Method of payment typically used for payments from the customer.

SalesPoolId CHAR(10) Sales order pool that sales orders to the selected customer are
placed in.

LanguageId CHAR(10) Language used for all external documents to the selected
customer, such as invoices and account statements.

LineOfBusinessId CHAR(10) Line of business of the customer. Defined for statistical purposes.

DestinationCodeId CHAR(10) Destination code that applies to the customer. Destination codes
can be used to divide deliveries into groups according to customer
location.

SalesCalendarId CHAR(10) Days on which the customer wants to receive their orders.

CustClassificationId CHAR(10) Customer classification group of the selected customer. Defined


for statistical purposes.

3.6.1.5 Dimensions
LedgerBudget table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

Page 62
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.6.2 CustInvoiceTrans Data structure


Figure 10

3.6.2.1 CustInvoiceJour
Table is dedicated to store invoice header information. In this table there are lots of fields regarding
different invoice lines summaries. Also big amount of analytical information is stored in this table
(Customers, Addresses, Dimensions etc.)

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

CustGroup CHAR(10) Customer group that the customer belongs to. Customer group
contains number of setup parameters regarding general ledger
posting and payment management.

RefNum INTEGER Defines the register from where the invoice is generated. Values can
be:

SQL AX value Description


value
0 SalesOrder
1 Project
2 Cust   
Page 63
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3 Interest   
SalesId CHAR(20) The sales order or project numbers that the invoice is updated from.

OrderAccount CHAR(20) Customer ID

InvoiceAccount CHAR(20) Specified if the account number of the customer you want to invoice
is different from the customer that placed the sales order.

InvoiceDate DATE Displays the invoice date, which is also used as the posting date. This
date is also used to calculate the due date and the cash discount
date.

DueDate DATE Deadline for invoice payment

CashDisc REAL Cash discount offering for the invoice

CashDiscDate DATE Deadline for cash discount regarding the invoice

Qty REAL Invoice quantity summed up by invoice lines. If different units are
used in different invoice lines these amounts in different units are
simply summed up.

Volume REAL Summarized invoice lines inventory volume in cubic meters.

Weight REAL Summarized invoice lines inventory weight in used units of measure.

SumLineDisc REAL Summarized invoice lines line discount amount in invoice currency

SalesBalance REAL Summarized invoice lines sales amounts in invoice currency (misc.
charges, end discounts, sales taxes are not included)

EndDisc REAL End discount of the invoice

InvoiceAmount REAL Amount in invoice currency what is invoiced to the customer


(SalesBalance + misc. charges - end discounts + sales taxes etc)

CurrencyCode CHAR(3) Invoice currency code

ExchRate REAL Currency exchange rate used during invoice posting.

SalesAdministrator CHAR(10) Employee code who received the sales order the invoice is related
with.

InvoiceId CHAR(20) Invoice number

LedgerVoucher CHAR(20) Accounting transaction number in general ledger (LedgerTrans table)


created during invoice posting process.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

ListCode INTEGER Indication of the list code for the current invoice. This is decisive
for reporting to the EU sales list, and offers the options:

SQL AX value Description


value
0 Not included  There will be no list code on 
the invoice. 
1 EU trade  Trade with a customer in 
another EU country. 

Page 64
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

2 Production on  Value‐added work with a 
toll  customer in another EU 
country. 
3 Triangular/EU  Trade between customers in 
trade  different EU countries. 
4 Triangular/Prod.  Value‐added work between 
on toll  customers in different EU 
countries. 
IntrastatDispach CHAR(20) Shipment batch number in Intrastat reporting.

PurchaseOrder CHAR(20) Purchase order ID related with the invoice. If empty then invoice is
generated by using free text invoice functionality.

DlvTerm CHAR(10) The standard terms of delivery for the invoice (FOB, FAS, EXW etc.).

DlvMode CHAR(10) Mode of delivery that applies to invoice (air, water, railway etc.).

Payment CHAR(10) Terms of payment applicable to the current invoice. The due date is
automatically calculated when invoicing the order based on the terms
set up for payment in the sales order.

CashDiscCode CHAR(10) Cash discount code relevant for the current invoice.

InvoiceRoundOff REAL Rounding made in the invoice.

SumMarkup REAL Sum of different additional costs added to the invoice (misc. charges
etc.) in invoice currency.

BackOrder INTEGER Invoice is related with backorder sales


YES / NO

DlvZipCode CHAR(10) Postal code of the delivery address.

DlvCounty CHAR(10) Specified region for the delivery

DlvCountryRegionId CHAR(10) Specified country for the delivery

DlvState CHAR(10) Specified state for the delivery

OneTimeCustomer INTEGER Invoice in generated by using “One time customer” functionality


YES / NO

PaymentSched CHAR(30) Payment schedule code related to the invoice

SumTax REAL Tax amount calculated in the invoice.

SalesType INTEGER Sales order type use for invoice generation. Types can be following:

SQL AX value
value
0 Journal   
1 Subscription   
2 Sales order   
3 Returned item  
4 Blanket order  
5 Item requirements   
EUSalesList CHAR(20) Id number in European Union sales reporting.

Page 65
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ExchRateSecondary REAL Currency exchange rate for parallel currency

Triangulation INTEGER Shows if the sale is made in triangular mode according to EU


legislation.
YES / NO

LanguageId CHAR(6) Specifies the language used in the invoice printout.

InvoicingName CHAR(60) Name on the company the invoice is written to.

InvoicingAddress CHAR(250) Invoice address

InvZipCode CHAR(10) Postal code of the delivery address.

InvCounty CHAR(10) Specified region for the delivery

InvCountryRegionId CHAR(10) Specified country for the delivery

InvState CHAR(10) Specified state for the delivery

ContactPersonId CHAR(10) Relation to the ContactPerson table identifying relevant contact in the
client side.

SalesOriginId CHAR(10) Code for sales origin (internet, telesales etc.)

BillOfLadingId CHAR(17) Information about Bill Of Lading transportation code

InvoiceAmountMST REAL Amount in default currency what is invoiced to the customer


(SalesBalance + misc. charges - end discounts + sales taxes etc)

InvoiceRoundOffMST REAL Rounding made in the invoice in default currency

SumMarkupMST REAL Sum of different additional costs added to the invoice (misc. charges
etc.) in default currency.

SumLineDIscMST REAL Summarized invoice lines line discount amount in default currency

EndDiscMST REAL End discount of the invoice in default currency

SalesBalanceMST REAL Summarized invoice lines sales amounts in default currency (misc.
charges, end discounts, sales taxes are not included)

SumTaxMST REAL Tax amount calculated in the invoice.

InterCompanyCompanyId CHAR(3) Company identification in the intercompany transactions

InterCompanyPurchId CHAR(20) Related purchase id in the intercompany transactions.

3.6.2.2 CustInvoiceTrans
Current table contains information about customer invoice lines (what items are sold to the clients and what is the
price, what is discount rate and what sales group sold this item). This table has relation with InventTrans table,
where item cost price is declared, what makes possible sales margin calculations.

Field name Data type Field description

RecId INTEGER Unique row identifier in table and the primary key

InvoiceId CHAR(20) Invoice number

InvoiceDate DATE Displays the invoice date, which is also used as the posting date. This
date is also used to calculate the due date and the cash discount

Page 66
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

date.

InventTransId CHAR(20) Inventory transaction code created in central inventory movement


register (inventTrans). The field is empty in case free text invoice
functionality is used for invoicing.

InventRefId CHAR(20) Reference to the document what covers the need for the inventory.
Document type is defined in the field InventRefType. The field is
empty in case free text invoice functionality is used for invoicing.

ItemId CHAR(20) Code of the sold item. The field is empty in case free text invoice
functionality is used for invoicing.

ExternalItemId CHAR(20) The external item number to specify the customer's item number for
the inventory item

Name CHAR(1000) Item description

CurrencyCode CHAR(3) Invoice currency code

DlvCounty CHAR(10) Specified region for the item delivery

PriceUnit CHAR(10) Price unit specifies the quantity of the item covered by the sales price.

Qty REAL Item sales quantity

SalesPrice REAL A sales price for the item

DiscPercent REAL Line discount rate in invoice currency.

DiscAmount REAL Line discount amount in invoice currency.

LineAmount REAL Amount of the sales line in invoice currency (excluding tax)

SalesGroup CHAR(10) Sales group information for commission calculation.

LedgerAccount CHAR(20) An account number to record a sale directly in the sales account,
regardless of any association the item group may have with specific
sales accounts in the posting setup for the item group.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

QtyPhysical REAL Sales quantity that have physically delivered to the client.

PartDelivery INTEGER If the sales line is delivered to the customer in partial manner

DlvState CHAR(10) Specified state for the delivery

SalesId CHAR(20) The sales order or project numbers that the invoice line is related to.

SalesUnit CHAR(10) Unit in which the item is sold.

CommissCalc INTEGER Defines if the sales commission calculation is active for the sales line
YES / NO

CommissAmountCur REAL Specifies the commission amount in invoice currency

TransactionCode CHAR(10) Transaction codes for intrastat reporting

DeliveryType CHAR(10) Specifies if the direct delivery functionality is used:

SQL AX value

Page 67
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

value
0 None   
1 Direct delivery   
CountryRegionOfShipment CHAR(10) Specified country for the delivery

ItemCodeId CHAR(10) Item commodity codes for EU reporting

TaxAmount REAL Sales tax amount in sales line.

MultiLnDisc REAL Multi-line discount as an amount per price unit.

MultiLnPercent REAL The calculated multiline discount percentage

LineDisc REAL Line discount amount in invoice currency

LinePercent REAL Line discount percent in invoice currency


The sales order or project numbers that the invoice line is updated
OrigSalesId CHAR(20) from.
TransPort CHAR(10) Transport method for Intrastat reporting

InventDimId CHAR(20) Foreign key to the table InventDim. Each InventDimId contains
unique dimension combination

OrigCountryRegionId CHAR(10) Country/region of the sold item origin.

StatProcId CHAR(10) Statistical procedures for Intrastat reporting.

DlvDtate DATE Delivery date for the specific sales line

LineAmountTax REAL Sales tax amount included in the sales amount, in case sales tax is
included in prices (invoice currency)

Port CHAR(10) Port identification used for Intrastat reporting.

AssetId CHAR(20) Reference to the fixed asset number, if sales is related with fixed
assets.

AssetBookId CHAR(10) Reference to the fixed asset accounting profile, if sales is related with
fixed assets.

LineAmountMST REAL Amount of the sales line in company currency (excluding tax)

TaxAmountMST REAL The sales tax in the default currency (company currency). If
necessary, the amount is converted using the exchange rates in the
Exchange rates form.

LineAmountTaxMST REAL Sales tax amount included in the sales amount, in case sales tax is
included in prices (company currency).

CommissAmountMST REAL Specifies the commission amount in invoice currency.

SumLineDisc REAL Sales line discount amount in invoice currency.

SumLineDiscMST REAL Sales line discount amount in company currency.

InterCompanyInventTransId CHAR(20) Reference number to the intercompany inventory transaction in the


relevant company database

StatLineAmountMST REAL Transaction amount in default currency.

IntrastatDispachId CHAR(20) Shipment batch number in intrastat reporting.

InventQty REAL Quantity in the inventory unit of the item.

Page 68
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

OrigState CHAR(10) State of the item origin.

InventRefType INTEGER Defines the type of the document what covers the need for the
inventory. Types Can be:

SQL AX value
value
0 None   
1 Sales order
2 Purchase order
3 Production   
4 Production line   
5 Inventory journal   
6 CRM quotation
7 Transfer order
InventRefTransId CHAR(20) Inventory transaction code created in central inventory movement
register (inventTrans) and refers to the document what covers the
need for the inventory

DlvCountryRegionId CHAR(10) Delivery country/region of the sold item.

Weight REAL Total weight of the sold item line in the used units of measure

3.6.2.3 InventTrans
Table contains all inventory related transactions, including customer related sales transactions. In current data
model item cost price from that table is used for sales margin calculation. For detailed description about this
table please see chapter 3.8.1

3.6.2.4 InventDim
For table description please see p. 3.8.2

3.6.2.5 LedgerTable
For table description please see p. 3.1.1

3.6.2.6 InventTable
For table description please see p. 3.8.4

3.6.2.7 CommissionSalesRep
Depending on the system setup, sales lines can generate commission calculation for sales personnel. Sales
personnel are recorded in current table and grouped to the sales groups (CommissionSalesGroup table) and

Page 69
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

sales groups are linked with the CustInvoiceTrans table.

Field name Data type Field description

GroupId CHAR(10) Commission group id, foreign key to the table


CommissionSalesGroup

EmplId CHAR(10) Employee id included in the commission sales group

Proportion REAL The percentage rate that the individual employee receives in the
commission that is calculated for the commission sales group

3.6.2.8 CommissionSalesGroup
Table what groups together sales representatives from table CommissionSalesRep and is linked with sales
lines table CustInvoiceTrans.

Field name Data type Field description

GroupId CHAR(10) The code name or ID of the commission sales group.

Name CHAR(60) The name of the commission sales group.

3.6.2.9 CustTable
Central client register table. Lot of fields for statistic and setup purposes is created in this table. For detailed
description about this table please see chapter 3.6.1.4

Field name Data type Field description

3.6.2.10 Dimensions
LedgerBudget table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

3.7 Accounts payables data structure


Below two different data structures for accounts payables are described. There structures are very
similar to the accounts receivables data structure described in section 3.6:
3. VendTrans – central table for vendor transactions. Based on that table vendor balance can be
calculated. All invoices and payments are recorded to this table and also link between invoice
and payment is maintained.
4. VendInvoiceTrans – this table contains invoice line information. By using this information sales
analyses can be performed answering questions like:
a. What items and services are purchased whom which vendor
b. Which items/services are purchased most

Page 70
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.7.1 VendTrans Data structure


Figure 11

3.7.1.1 VendTrans
All kind of vendor transactions are recorded in this table. In addition to most common
transactions like invoices and payments, also different periodical transactions are stored in this
table (exchange adjustment, customer settlement etc.). All transactions in VendTrans table,
cause also changes in general ledger transactions table LedgerTrans.

Field name Data type Field description

Page 71
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.7.1.2 VendPaymModeTable
Table what contains different payment modes what can be used by vendors.

Field name Data type Field description

3.7.1.3 VendSettlement
Table, where invoice and payment settlement transactions are stored. In case invoice is paid partially, there
are several settlement transactions, showing which payment amount is covering relevant invoice. Also one
payment can cover more than one invoice, in this case several invoice settlement lines are referring to one
payment lines. This table is closely related with VendTrans table reference is made by using RecId fields.
Information from this table is needed, when historical invoice and payment status has to be monitored. Current
status of vendor balance is available in CustTrans, but balances for specific date in the past need to be
calculated by using data from CustSettlement table

Field name Data type Field description

3.7.1.4 VendTable
Central vendor register table. Most of the fields are dedicated to the statistic and setup.

Field name Data type Field description

3.7.1.5 Dimensions
LedgerBudget table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

3.7.2 VendInvoiceTrans Data structure


3.7.2.1 VendInvoiceJour
Table is dedicated to store invoice header information. In this table there are many fields

Page 72
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

regrading different invoice lines summaries. Also big amount of analytical information is stored in
this table (Vendors, Addresses, Dimensions etc.)

Field name Data type Field description

3.7.2.2 VendnvoiceTrans
Current table contains information about vendor invoice lines (what items are purchased to the clients and
what is the price, what is discount rate and what purchase group bought this item). The table has relation with
InventTrans table.

Field name Data type Field description

3.7.2.3 InventTrans
Table contains all inventory related transactions, including customer related sales transactions. In current data
model item cost price from that table is used for sales margin calculation. For detailed description about this
table please see chapter ###

3.7.2.4 InventDim
For the table description please see p. ###

3.7.2.5 LedgerTable
For the table description please see p. 3.1.1

3.7.2.6 InventTable
For the table description please see p. 3.8.1.1

3.7.2.7 VendTable
Central client register table. Lot of fields for statistic and setup purposes are created in this table. For detailed
description about this table please see chapter 3.6.1.4

Page 73
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.7.2.8 Dimensions
LedgerBudget table has relation to the dimensions table. Please see dimensions table description in p. 3.1.2

3.7.2.9 InventDim
For the table description please see p. 3.8.1.2

3.8 Inventory transactions data structure


In the centre of the inventory transactions in AX is the InventTrans table. The table contains all kind
of the inventory transactions in the very detailed level, generated by the different AX modules (for
more information regarding the InventTrans relation to the other AX modules see drawing
TransTables). The Inventory variations are recorded in the InventDim table. InventSum table
contains already aggregated data (inventory stock levels, ordered inventory etc.) based on the
transactions in InventTrans table. The main inventory register is stored in the InventTable, where
also lots of inventory configuration parameters are defined. InventTable has 1 to 3 relations to the
InventTableModule. In this table inventory sales, purchase and stock keeping parameters are
stored – one line for each functional area.
InventTrans has also relations to the several AX main registers like vendors (VendTrans),
customers (CustTrans), projects (ProjTable), production (BOMTable, RouteTable).
Figure 12

Page 74
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.8.1 InventTrans
The table is central register for inventory transactions and contains most detailed data about any kind on
inventory movement in the system. Table does not have one to one relation to the general ledger central
register (LedgerTrans) as usually postings made to GL does not have such level of details (same with the
customer and vendor inventory transaction registers CustInvoiceTrans and VendInvoicerans). This table is
also base for inventory cost accounting. All adjustments made to inventory cost price can be found in this
table.

Field name Data type Field description

InventTransId CHAR(20) Inventory transaction identifying current transaction. This number is


often used as foreign key in related tables

ItemDimId CHAR(20) Identification of inventory dimensions. Each dimension combination


has unique code in table InventDim

RecId INTEGER

ItemId CHAR(20) Item identification number. Relation to InventTable

StatusIssue INTEGER Current issue status for issue transactions. If the field is empty, the
transaction is a receipt.
Statuses can be:

SQL AX value
value

Page 75
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

0 None   
1 Sold   
2 Deducted   
3 Picked
4 Reserved physical   
5 Reserved ordered   
6 On Order   
7 Quotation issue
DatePhysical DATE Date of the physical transaction (inventory movement with packing
slip)

Qty REAL The quantity in inventory units for the transaction (defined in item
card). The quantity shows receipts and issues; issues display a
minus sign.

CostAmountPosted REAL Inventory cost value for the financially updated quantity, for
example, in connection with invoice updating.

CurrencyCode CHAR(3) Currency that is associated with the item receipt

TransType INTEGER Specifies functional area, where the transaction is originated.


Values can be:

SQL AX value
value
0 Sales order   
2 Production   
3 Purchase order   
4 Inventory Transaction  
5 Profit/Loss transaction  
6 Inventory transfer   
7 Totaled   
8 Production line   
9 BOM line  
10 BOM main  
11 Warehouse output order   
12 Project   
13 Inventory counting   
14 Warehouse pallet transport  
15 Quarantine order   
20 Fixed assets   
21 Transfer order shipment   
22 Transfer order receive   
23 Transfer order scrap  
24 Sales quotation   
TransRefId CHAR(20) Identification of the reference transaction specified in the field
TransType

InvoiceId CHAR(20) When an order or purchase is invoice-updated, the invoice number


is saved here.

Page 76
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Voucher CHAR(20) Voucher number used in invoice updating or costing. The voucher
number refers to transaction(s) created in General Ledger
(LedgerTrans)

DateExpected DATE Date of the expected transaction

DateFinancial DATE Date of the financial transaction. That is the date on which the items
are invoice-updated or cost accounted through production.

CostAmountPhysical REAL Floating physical inventory value of the inventory record, for
example in connection with updating a packing slip. A physical cost
amount that has not been financially updated in the General ledger
is a floating value.

StatusReceipt INTEGER Current receipt status for receipt transactions. If the field is empty,
the transaction is an issue.

SQL AX value
value
0 None
1 Purchased  The purchase order is invoiced 
2 Received  The purchase order is packing‐slip 
updated 
3 Registered The item is registered. When setting 
up inventory model groups, you can 
indicate in the Registration 
requirements field that item receipts 
must be registered upon physical 
updating. 
4 Arrived  The item is registered in a shipment. 
5 Ordered  The purchase order is created. 
6 Quotation The sales quotation with a negative 
receipt  quantity has been sent to the 
customer for approval.  
The sales quotation is not yet a credit 
note. 
PackingSlipId CHAR(20) When an item is picked or received on a packing slip in the Sales or
Purchase modules, the packing slip number is saved here.

VoucherPhysical CHAR(20) Voucher numbers used when posting floating items, that is packing
slip updated items. The voucher number refers to transactions
created in Ledger.

CostAmountAdjustment REAL Any cost adjustment, for example, an adjustment from a closing of
inventory.

Direction INTEGER Indicates whether the transaction is a receipt or an issue

SQL AX value
value
0 None
1 Receipt   
2 Issue   
DateStatus DATE Date associated with the transaction's status.

Page 77
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

CostAmountStd REAL Transaction's standard cost price converted to the cost value. All
adjustments are taken into account

DateClosed DATE Date on which the transaction was financially closed, that is when
the full quantity was financially settled.

InventTransIdFather CHAR(20) Refers to the field InventTransId in the same table creating
hierarchy. For example production lines are referring to the
produced item transaction number

ItemRouteId CHAR(20) Route number of a specific sub-route. That is, the active sub-route
was overridden on the BOM line. If the field is empty, the active sub-
route is used.

ItemBomId CHAR(20) Bill of materials (BOM) number of a specific sub-BOM. That is the
active sub-BOM was overridden on the bill of material. If the field is
blank, the active sub-BOM is used.

ProjId CHAR(10) Identify the project that generated the inventory transaction.
Reference to the project module

ProjCategoryId CHAR(10) Project category for the project used.

CustVendAC CHAR(20) The customer or vendor's account number, depending on the


reference field type. Reference to the accounts receivables or
accounts payables module

AssetId CHAR(20) Fixed asset number for the transaction. Reference to the fixed asset
module

ProjAdjustRefId CHAR(20) Inventory transaction relation from InventTrans table to the project
module transaction table ProjTransPosting.ProjAdjustRefId and
ProjItemTrans.ProjAdjustRefId. In case of inventory cost adjustment
this code links project related inventory module transactions with the
relevant project module transaction.

AssetBookId CHAR(10) Fixed asset value module number for the transaction. Reference to
the fixed asset module

InventRefTransId CHAR(20) Refers to the field InventTransId in the same table creating relation
between inventory transactions belonging into the one and the same
process flow. For example Quarantine order -> Purchase -> Sales
transactions are all referring to the first transaction in the process
flow, in our case Quarantine order

3.8.2 InventDim
Each inventory item described in InventTable can have several modifications and modification combinations.
Modification types are warehouses, unique IDs, inventory batches, sizes, colors, detailed warehouse locations
etc. Information about each of this property is not stored in transaction tables, but InventDim table has all
possible inventory dimensions combination list. Unique ID from this table is used in inventory transaction
tables to specify additional inventory properties defined with inventory dimensions.
For example, we calculate using table CustInvoiceTrans that company has sold 100 cars. Information that 60
of them are red and 40 are black is stored in InventDim, as each sales line refers to dimension combination ID
where dimension value is either read or black.

Field name Data type Field description

InventDimId CHAR(20) Unique identification of inventory dimensions combination, also


primary key

Page 78
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

InventBachId CHAR(10) Batch number for the inventory dimension combination.

wMSLocationId CHAR(10) Warehouse location ID for the inventory dimension combination.

wMSPalletId CHAR(10) Warehouse pallet ID for the inventory dimension combination.

InventSerialId CHAR(10) Inventory serial number ID for the inventory dimension


combination.

InventLocationId CHAR(10) Warehouse ID for the inventory dimension combination.

ConfigId CHAR(10) Inventory Configuration ID for the inventory dimension


combination.

InventSizeId CHAR(10) Inventory size ID for the inventory dimension combination.

InventColorId CHAR(10) Inventory color ID for the inventory dimension combination.

3.8.3 InventSum
The table contains aggregated data calculated based on InventTrans and InventDim. In this table current item
stock level can be found specified also by different dimension types. Also current calculations for reservations,
orders, inventory picking etc. are stored in this table. The table is used for current inventory reporting
purposes. When historical inventory level should be calculated, then transactions from InventTrans should be
combined with the information from InventSum.

Field name Data type Field description

ItemId CHAR(20) Item identification number. Relation to InventTable

InbentDimId CHAR(20) Identification of inventory dimensions. Each dimension


combination has unique code in table InventDim

PostedQty REAL Financially entered quantity.

PostedValue REAL Total inventory value of the financial updates for the item that was
posted in the General ledger module.
The value is negative if items that have only been physically
received in inventory have already been sold or invoice-updated.
The field appears when you total Financial cost amount for all
transactions that have a status of Purchased or Sold at the
warehouse.

ReserverdPhysical REAL Total quantity of the item that was physically reserved for the
inventory dimension
The field appears when you total all issue transactions with the
status Physical reserved. Items that are physically reserved can
always be picked and delivered from inventory.
An item is physically reserved if it is marked against a sales order,
production, or a project. The item is in inventory, but it is marked
to indicate that it is reserved.

ReservOrdered REAL Total quantity of the item that is reserved on ordered receipts for
the inventory dimension. An amount appears in the field, when
you total all issue transactions with the status Ordered reserved.
Items that are reserved as ordered are not physically available in
inventory and, therefore, cannot be directly picked and delivered

Page 79
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

from inventory.

AvailPhysical REAL Physically available inventory in the stock in stock keeping units

PhysicalValue REAL Physically available inventory in the stock in company currency

3.8.4 InventTable
The table is central inventory register for Dynamics AX solution. Table contains different inventory specific
setup parameters. Lines from this table can be used in dimensional analyses as inventory dimensions.

Field name Data type Field description

ItemId CHAR(20) A unique user-defined code that is assigned when items are
created.

ItemGroup CHAR(10) The item group that this item belongs to. All items are assigned to
an item group when they are created.
Item groups are used with ledger transactions and can be used as
printing criteria.

ItemType INTEGER The category, or type, that this item belongs to. An item can be one
of three types:

SQL AX value
value
0 Item  These are purchased items that do 
not require processing to be sold or 
used in production. 
1 BOM  Bill Of Material – used in production 
2 Service Item numbers of the Service type are 
used, for example, for hourly 
services. 
ABCTieUp INTEGER The item's ABC code for cost attachment to inventory.

ABCRevenue INTEGER The item's ABC code for sales.

ABCValue INTEGER The item's ABC code for inventory value.

ABCContributionMargin INTEGER The item's ABC code for marginal income.

3.8.5 InventTableModule
The table contains some inventory setup information what is not recorded into the InventTable. This table
contains three lines per each line in InventTable. Such a structure is used because several properties for the
item must be specified for the three different procedures: Purchase, Warehousing and Sales (for example
price, unit of measure etc.). When it is need to import some data to InventTable, also three lines with different
module type values should be imported to InventTabkeModule per each InventTable record, otherwise
imported lines are not even displayed in inventory register.

Field name Data type Field description

ItemId CHAR(20) Item identification number. Relation to InventTable

ModuleType INTEGER Identifies what module data current row is containing.

Page 80
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Values are:

SQL AX value
value
0 Inventory Data used for warehouse statistics 
and operations 
1 Purchase  Data used for purchase statistics and 
operations 
2 Sales Data used for sales statistics and 
operations 
UnitId CHAR(10) The stock keeping unit for purchase, inventory (inventory journal
and production), and sales.

Price REAL Price in this field for the number of units entered in the PriceUnit
field. Enter values for these fields in the Purchase order, Cost, and
Sales order sections.

PriceUnit CHAR(10) Enter the number of units for which the Price applies.

Markup REAL A miscellaneous charge is a fixed sum added to the price. This is
only applied to the Items table, compared to purchase, production,
and sales.

LineDisc REAL Each item number can be associated with a line discount group that
is used to calculate discounts when you create orders and
purchases.

Quantity REAL In the Purchase order section, enter the default quantity in the
purchase package. That is, the quantity of the item number in stock
keeping units that is proposed as a default for purchases and
requirement calculations. This is a multiple of the purchase quantity.
Same logics is in warehousing and sales quantity fields

Blocked INTEGER Field has value 1 if the item is blocked for purchase, warehousing or
Sale transactions

DeliveryTime INTEGER The standard delivery, lead, or acquisition time for items. The
times entered here are default times if times are not specified
elsewhere. This function is typically used by companies that need
simple lead times.

InventoryLocation CHAR(10) Item's default warehouse or placement in the Purchase order,


Inventory, and Sales order sections.

3.8.6 CustTable
Central client register table. Lots of fields for statistic and setup purposes are created in this table. For detailed
description about this table please see chapter 3.6.1.4

3.8.7 VendTable
Central client register table. Lots of fields for statistic and setup purposes are created in this table. For detailed
description about this table please see chapter 3.7.1.4

Page 81
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.8.8 BOMTable
Table, where standard bill of material setup is defined. Data is used in production.

3.8.9 RouteTable
Table, where standard production route setup is defined. Data is used in advanced production module.

3.8.10 ProjTable
For table description please see p. 3.11.1.2

3.8.11 ProjCategory
For table description please see p. 3.11.1.9

3.8.12 ProjCategoryGroup
For table description please see p. 3.11.1.10

3.9 Production General data model


Microsoft Dynamics AX production module is flexible and powerful system to handle different production types.
Main tables of production module are described in data diagram. Production module is closely integrated with
inventory, warehouse management, sales, purchase and ledger modules. Main dimension tables are
ProdTable and WrkCtrTable but module has a lot of other dimension tables.
Main transaction tables are ProdRouteTrans and InventTrans (not described here). Production module has
also several tables what are used for capacity and materials planning and production cost estimation. These
tables are ProdBOM, ProdRoute and ProdRouteJob.
Active capacity reservations are kept in table WrkCtrCapRes.
Production transactions summary (from estimation and production feedback) are saved in table
ProdCalcTrans.
Production module has also a lot of journals what are used for entering production materials cost and rote
consumption, these tables are not described in this data model.
Figure 13

Page 82
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

DIAGRAM FROM OTHER FILE

3.9.1 ProdTable
This is table where all production orders are listed. A production order describes a continuous production
sequence, which, through a number of connected work operations and raw materials, generates a quantity
of manufactured items.

Field name Data type Field description

ProdId STRING(20) Displays the production number. This is a unique


identification of the production order. When new production
orders are created, the number is either allocated
automatically or entered manually.

ItemId STRING(20) Displays a unique identification of the item that is to be


produced. This field cannot be changed. The item to be
produced is defined when production is set up.

Name STRING(140) The name of the production


Production group that production is attached to.
ProdGroupId STRING(10)

Page 83
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Each production can be attached to a production group. The


production group can control posting of item consumption,
items in process, and work center consumption and work
centers in process.

The group can also be used as a limit in reports. You can


select a group from the created production groups.

If you want to use productions groups without any accounting


consequences, you should use production pools instead.
ProdStatus ENUM Production status

Shows exactly where the production order is in the overall


production cycle. The production status is automatically
updated every time that update or scheduling is run on a
production order.

The typical life cycle of a production order begins with the start
of the production process when the order is first created. The
order is automatically assigned the Created status at this
point.

Status updates for subsequent phases include: Estimated,


Planned, Released, Started, Reported as finished, and Ended.

SQL AX value Description


value

0 Created Status of the production


order when it is first
created.

1 CostEstimated Status of the production


order after running a
material and cost
estimation.

2 Scheduled Status after running


operation or job
scheduling.

3 Released Status when production


order is scheduled and
has been released to
production.

4 StartedUp Status of the production


order when production
starts.

5 ReportedFinished Status of the production


order when production
is finished and ready for
final action.

7 Completed Status of the production


order after final costs
has been applied, the
item is complete, and
the order is no longer

Page 84
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

active.

ProdPrio INTEGER Production priority. Higher numbers have higher priority.


Priority is used in production planning for sorting.

ProdLocked ENUM Is the production locked for rescheduling?


NO / YES

ProdType ENUM Production type

SQL AX value Description


value

0 Standard The production has been


created without a specific
attachment to an order,
another production or
vendor, or a planned order.

3 Vendor The production is produced


by a vendor and the
production order is attached
to another production. You
can find a reference to the
production order through
the InventRefType and the
InventRefId fields.

SchedStatus ENUM Scheduling status of the production

SQL AX value Description


value

0 None

1 OperationScheduled The least detailed of


the two types of
scheduling available
in the production
system. Operations
scheduling is
frequently used
when you want a
rough estimate of the
duration of the
production process.

2 JobScheduled The most detailed of


the two scheduling
types available in the
production system

SchedDate DATE Last scheduled date.

QtySched REAL Displays the scheduled production quantity

Page 85
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

QtyStUp REAL Displays the start quantity. The start quantity is updated
automatically with the quantity that is started.
Displays the desired delivery or finish date for the production.
DlvDate DATE You can use the delivery date in the production's operations or
job scheduling, where the scheduling can be selected
backward from delivery date. If you perform operations
scheduling or job scheduling for a production order that has
automatic creation of underproductions defined in the bill of
material, the delivery date for the underproductions is
automatically set to the date when the items will be used in the
production. The underproduction will then have operations
scheduled backward from delivery date.

If a production is created directly from a sales order, the


Delivery is automatically transferred back to the Ship date of
the order line.
Displays the latest date on which the start of a production
StUpDate DATE order occurred.
The latest date on which the production order was reported as
FinishedDate DATE finished.
The scheduled start date.
SchedStart DATE
The scheduled end date.
SchedEnd DATE
The measurement conversion factor for the height dimension.
Height REAL
The factor for the measurement dimension width.
Width REAL
The measurement conversion factor for the depth dimension.
Depth REAL
The measurement conversion factor for the density dimension.
Density REAL
Displays the quantity that is used as basis for cost estimating.
QtyCalc REAL This quantity can differ from the quantity that has been
planned, started, or reported as finished.
RealDate DATE Date that the production status was updated to Ended.
Specifies how the component items, identified by the BOM
Reservation ENUM lines, should be handled in terms of automatic reservation. The
value is proposed on the BOM lines but can be changed
individually for each line. The reservation is made the first time
a production order is cost estimated.

SQL AX value Description


value

0 None No Reservations.

1 Estimation Reservation is made during


production estimation.

2 Scheduling Reservation is made during


scheduling.

3 Start Reservation is made during


production startup.

Page 86
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ProdPostingType ENUM Shows how the production order is to be posted in the


ledger, for both items and work in process, in addition to the
costing of the production order. The field can be corrected
for productions if the Status is lower than Reported as
finished

SQL AX value Description


value

0 ItemWrkCtr The posting of item


consumption is as
specified in the
itemgroups. Work center
consumption posting is
based on the value in the
Work centers and work
centre groups.

1 ItemCategory The posting of item


consumption is as
specified in the item
groups. Work center
consumption posting is
based on the value in the
Cost category.

2 ProdGroup Item consumption and


work center consumption
are posted exclusively by
the value in the Production
group.

Displays the number of the lot to which the production is


InventTransId STRING(20) attached. The field cannot be edited. This field connects
production table to inventory transactions.
Dimension STRING(10) You can define department, cost center and purpose on a
production order. If production order dimensions exist, they
are automatically transferred to the route. However, if the
production order dimension fields are left blank, dimensions
will default from the work center used
You can define department, cost center and purpose on a
Dimension2_ STRING(10) production order. If production order dimensions exist, they are
automatically transferred to the route. However, if the
production order dimension fields are left blank, dimensions
will default from the work center used.
Dimension3_ STRING(10) You can define department, cost center and purpose on a
production order. If production order dimensions exist, they
are automatically transferred to the route. However, if the
production order dimension fields are left blank, dimensions
will default from the work center used
Displays connections to other modules, including the item
InventRefType ENUM reference type of the production. If the production is created
directly to an order line, the Sales order is displayed. If the
production is created for a purchase or a project, the
Purchase order or Project is displayed. If there is a reference
to another production, the Production is displayed. You
cannot correct this field.

Page 87
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value Description


value

0 None

1 Sales Sales order

2 Purch Purchase order

3 Production Production

4 ProdLine Production line

5 InventJournal Inventory Journal

6 CRMQuotation CRM Quotation

7 InventTransfer Transfer order

Displays the number of the sales order, purchase order, or


InventRefId STRING(20) production from which the production is derived. If there are no
connections, the field is blank. You cannot correct this field.
Displays the numbers of the reference lot and the item lot to
InventRefTransId STRING(20) which the production belongs. The item to be produced goes
into inventory and from there into the lot that is specified here.
It is not relevant that the item does not physically reach the
inventory.
CollectRefLevel INTEGER When this field is marked, references to subordinate levels
are also estimated. Therefore a change can affect the
attached references. Subordinate levels indicate derived
productions. This means that their level number is higher
than that of the current production.
If the production is included directly in another production, this
CollectRefProdId STRING(20) field displays the number of the main production. The level of
this production in the production hierarchy is displayed in the
Reference level field. If no references exist, the current
production number is displayed. If the production has a
connection to another production, the field displays the level of
the production relative to the main production. For example, if
the level of the main production is 0, the derived productions
are at level 1, and the productions derived from them are at
level 2, and so on. If no references to other productions exist,
the value is 0.
Controls the BOM version that is active for the item when the
BOMDate DATE production order is created. You can define which lines are to
be copied from the current bill of materials version through this
date.

Page 88
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

BackorderStatus ENUM Backorder status for the production.

SQL AX value Description


value

0 None

1 Release Material consumption

2 Route Route consumption

3 Receipt Report as finished

5 Completed Ended

Production pools are used to group productions with similar


ProdPoolId STRING(10) characteristics, for example the type of item to be produced or
the person who created the production orders.
Displays the profit setting that has been used or that will
ProfitSet ENUM probably be used to calculate a sales price for the production
order The price is calculated when estimating and cost
accounting.

SQL AX value Description


value

0 Standard

1 Profit1

2 Profit2

3 Profit3

RouteJobs ENUM Have route jobs been generated for the production?
YES / NO

CheckRoute ENUM Test route?


YES / NO

PropertyId STRING(10) Code for the item characteristics.

RemainInventPhysical REAL Quantity not yet reported as finished in inventory units.


Indicates which bill of material has been used as the basis for
BOMId STRING(20) the production order. There may be several versions of a bill of
material item, but for each production order there is always
only one bill of material that is current and used as the basis
for the production order.
RouteId STRING(20) Route used when creating production
Identification of the plan.
ReqPlanIdSched STRING(10)
This field, together with the ReqPlanIdSched field, contains the
ReqPOId STRING(20) reference system for the master scheduling proposal.

If the production was derived from master planning, the field


will contain the number of the planned order that generated the

Page 89
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

production.

If the field is blank, no reference exists for the planned order.


The field cannot be edited.
RefLookUp ENUM Code used for auto-search.

SQL AX value Description


value

0 Production

1 Sales

LatestSchedDirection ENUM Scheduling direction last used

SQL AX value Description


value

0 None

1 Forward

2 Backward

LatestSchedDate DATE Last scheduling date.

InventDimId STRING(20) Reference to inventory dimensions combination.

SchedToTime TIME Last scheduled to time.

SchedFromTime TIME Last scheduled from time.

LatestSchedTime TIME Scheduling time last used

DlvTime TIME Delivery time


The original production that the current split production is
ProdOrigId STRING(20) based on.
GanttColorId INTEGER This color is used in the Gantt chart if it is defined in the
setup of colors in the Gantt chart.

PBAId STRING(20)

Page 90
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.9.2 ProdCalcTrans
This is table where production order cost estimations and real production costs are recorded. This is useful
table if you want to create are production cost reporting.

Field name Data type Field description


Identification of the highest level production that the line refers
CollectRefProdId STRING(20) to.

CollectRefLevel INTEGER Level at which the line is included in the calculation.

LineNum REAL Line number.

CalcType ENUM Calculation type

SQL AX value Description


value

0 Production Production or sub-


production

1 Item Item consumption

2 BOM BOM consumption

3 Service Service item

4 Setup Setup time in route

5 Process Process time in route

6 Qty Quantity registered in route

IdRefTableId INTEGER Table id calculation is connected to (Production table or BOM


calculations table)

IdRefRecId INT64 Record id calculation is connected to.

ProdId STRING(20) Identification of the production that the line refers to.
Selection indicates that the line is bill of materials (BOM)
BOM ENUM consumption.

YES / NO
Identification of the cost group.
CostGroupId STRING(10)
Quantity that the cost price, sales price, and consumption are
Qty REAL specified in and calculated for in connection with estimation.
Lines estimated quantity-dependent cost amount in number of
CostAmount REAL inventory units.
Line's quantity-independent cost miscellaneous charges.
CostMarkup REAL
Line's estimated quantity-dependent sales amount in number of
SalesAmount REAL inventory units.
Lines estimated quantity-independent sales-amount
SalesMarkup REAL miscellaneous charges.
Date of the calculation.
TransDate DATE

Page 91
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Key1 STRING(20) Identification of item or work center

Key2 STRING(10) Consumption unit.

Key3 STRING(20) Identification of the operation

Key4 STRING(20) Identification of dimensions for the item.


The material and time consumption that the program calculates
ConsumpVariable REAL when you update a production order to the estimation stage.
The program calculates expected material consumption based
on the item and expected time consumption based on the
operation.
ConsumpConstant REAL Run-independent consumption of the line in number of
inventory units

RealQty REAL Cost-accounted quantity reported as finished


The material and time consumption that is registered against
RealConsump REAL the production order. Material consumption for the item is
registered automatically when you post the picking list journal.
Time consumption for the operation is registered automatically
when you post the route card or job card journals.

This field is not updated for a top level production order line until
the production status is updated to end. When inventory
transactions are financially updated for the production order, the
field is updated with the realized consumption quantity.
The cost that the program calculates based on realized
RealCostAmount REAL consumption and the cost price. The item's cost price is from
the reference transaction, if it is marked. Otherwise, it is from
the item's on-hand record. The cost price for the job is from the
Route card or Job card journal.
RealCostAdjustment REAL Adjustment of cost amount.

Production ENUM Is the line a production receipt?


YES / NO
Number for determining sequence in routes
OprNum INTEGER

DerivedReference ENUM Module and number referred to

SQL AX value Description


value

0 None None

1 Sales Sales order

2 Purch Purchase order

3 Production Production

4 ProdLine Production line

5 InventJournal Inventory journal

6 CRMQuotation CRM quotation

7 InventTransfer Transfer order

Page 92
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

DerivedRefNum STRING(20) Reference number.

Key4InventDimId STRING(20)

VendId STRING(20) Customer or vendor account number

ConsumpType ENUM Is consumption variable or constant?

SQL AX value Description


value

0 Variable Variable

1 Constant Constant

DEL_SumConsump ENUM Is the record summarized to find a price agreement for all
levels?
YES / NO

PriceDiscQty REAL

CostPriceModelUsed ENUM The cost price model that has been used for price
calculation.

SQL AX value Description


value

0 CostPrice Item cost price

1 PurchPrice Item purchase price

2 PriceDisc Trade agreement

3 OnhandPrice Inventory price

4 None None

CalcGroupId STRING(10)

Page 93
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.9.3 ProdBOM
This is table where items which will be used for production order are recorded.
The production BOM is a list of the materials used in production. The materials are described with item
number and consumption, as well as a range of other data used for processing in the production system.

Production BOMs are based on Bills of material from the base data, as the production BOM is generated in
connection with Production creation as a copy of a bill of material from base data. In that way, it is the bill of
material for the item being produced in production, which is copied to the production BOM. The only exception
is if the item has no bill of materials, and no BOM number was given upon its creation. In that case, the
production BOM will be blank.
Field name Data type Field description

ProdId STRING(20) This field displays the production number of the production to
which the bill of material line belongs.

LineNum REAL Line number.


Type determining how the line is administered. The bill of
ProdLineType ENUM materials lines can be of several Line type, each with its own
function.

SQL AX value Description


value

0 Item Used on bill of materials


lines where there are raw
materials that are to be
picked in inventory or the
item is a service.

1 Phantom Is used if items of type BOM


are to be exploded in this
production bill of materials.
When a bill of material is
exploded, it creates the raw
materials and operations
created as base data on the
current bill of materials item
number.
Explosion is carried out in
connection with estimate.
You will find more
information on estimate in
Estimation.

2 Production If you wish to create for the


bill of material lines item
number an underproduction,
Production is used. Item
number in the bill of material
line must be of type BOM.
The underproduction is
created when an estimate is
executed for the current
Production order. You will

Page 94
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

find more information in


Estimation. Quantity for the
underproduction is
automatically reserved and
marked for the current
production.

3 Vendor If you in the production


sequence use subcontractor
work for which you want to
create a purchase order
automatically, use type
Vendor. If item number in
the bill of material line that
gets the type Vendor, is of
type BOM, an
underproduction is created
when the current production
is first estimated. The
underproduction has the
type Vendor and the items
that are on the bill of
material are created for the
underproduction as bill of
materials lines.
In bill of materials lines with
the type Vendor, you must
either specify a code that
refers to an operation in the
production route of the type
Vendor, or specify a vendor
directly in the BOM line.

Is This field specifies whether the estimate concerns a Variable


BOMConsump ENUM or Constant amount/quantity. Variable consumption means that
the units used in the finished product are proportional with the
Quantity for the production order. The consumption is
calculated as follows:

Quantity (for the production order) * (in the bill of material)

Constant consumption is used in defining a fixed


amount/quantity for the production items, such as start-up
costs. Consumption is calculated as follows:

Consumption = Quantity (in BOM).

SQL AX value Description


value

0 Variable Variable

1 Constant Constant

ItemId STRING(20) Specify in this field unique identification of the item to be


consumed in the production. The item number must already

Page 95
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

exist in the items table, and the can be Item, BOM, or


Service.

You can select item numbers from the list of existing item
numbers. You can also enter the item number manually, in
which case the system verifies that the item number exists in
the items table. At the same time, you fill in the Item name
field. The same item number can figure in the production's
BOM several times.

BOMQty REAL Specify here the Quantity units of the item figuring in 1 piece
of the finished item. If there is a gain, rather than a loss, of
the current item, specify a negative Quantity.

Dim1 REAL This field displays the calculation factor for Height that is
used in the calculation of raw materials consumption, if this is
proportional with the measurements defined in the
Production order You can change the field until the
production order is assigned the status 'Reported as
finished'. After a change you must cost estimate the
production order again in order to incorporate the changes.

Dim2 REAL This field displays the calculation factor for Width that is used
to calculate raw materials consumption, if this is proportional
with the measurements defined in the Production order You
can change the field until the production order is assigned
the status 'Reported as finished'.

Dim3 REAL This field displays the calculation factor for Depth that is to
be used in the calculation of raw materials consumption, if
this is proportional with the measurements defined in the
Production order This field can be changed until the
production order is assigned a status of Reported as
finished.

Dim4 REAL This field displays the calculation factor for Density to be
used in the calculation of raw materials consumption, if this is
proportional with the measurements defined in the
Production order This field can be changed until the
production order is assigned a status of Reported as
finished.

Dim5 REAL This field displays the calculation factor for Constant to be
used in the calculation of raw materials consumption, if this is
proportional with the measurements defined in the
Production order This field can be changed until the
production order is assigned a status of Reported as
finished.

Page 96
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

RoundUp ENUM This field allows you to round or cost estimated quantity to
RoundUpQty. Use rounding if the raw materials are always
used in fixed quantities.

SQL AX value Description


value

0 No Do not use rounding.

1 Qty This ensures that will


always be rounded.

2 MeasureConfig Round using Measurement


if raw material is available
only with predefined
dimensions. If you need to
take the above into account
when calculating the
consumption, use rounding
to Measurement and set
RoundUpQty to 5. The
rounding is calculated by
first determining the sales
quantity on the basis of the
measurement dimensions
and then determining the
number of times the
measurement dimension
figure can be included in
RoundUpQty The sales
quantity is then rounded
down to 0 (zero) decimals.
Now you can estimate the
quantity by calculating how
many multiples of the value
in field RoundUpQty is to
be used in order to produce
a given quantity.

3 Consumption When you use Rounding-


up Consumption the
calculated estimated
quantity is always rounded
so that it can be divided
equally with the value of
RoundUpQty Rounding-up
to Consumption is used
when the total consumption
of a raw material only can
be carried out using a pre-
defined quantity and the
remainder is then regarded
as loss.

RoundUpQty REAL Multiples quantity for rounding.

Position STRING(30) This field defines the Position of the bill of material line. This
field can contain an alphanumeric string of up to 10
characters.

Page 97
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

OprNum INTEGER This field defines where this item is used in the production
sequence. If you do not define Oper. No. on the bill of
material line, the item is pushed to the first operation to be
executed after Route.

QtyBOMCalc REAL Estimated consumption in BOM unit

RemainBOMPhysical REAL This field displays the consumption that needs to be released
to the production in the inventory unit with regard to the
estimated quantity.

RemainBOMFinancial REAL This field displays the consumption that is released to the
production in the bill of materials unit, but has not yet been
included in the cost accounting.

QtyInventCalc REAL Cost estimated quantity/amount of item to be included in the


production defined in the inventory unit. The consumption is
calculated when Estimation is executed. In the case of
variable consumption, the following formula is used in
calculating the consumption: Quantity (in Production order) *
(in the bill of material) = Consumption is determines whether
the consumption is Variable or Constant

ProdFlushingPrincip REAL Indicates when automatic BOM consumption is reported


(overrides setting on the item).

SQL AX value Description


value

0 Blank Blank

2 Start Start

3 Finish Finish

1 Manual Manual

Reservation ENUM When should autoreservation be performed?

SQL AX value Description


value

0 None Manual

1 Estimation Estimation

2 Scheduling Scheduling

3 Start Start

InventTransId STRING(20) This field shows the old id and refers to the current inventory
transactions attached to the bill of material line.

RawMaterialDate DATE Scheduled date for material consumption

RemainInventPhysical REAL Quantity not yet released in the inventory unit

Dimension STRING(10) Financial dimension.

Page 98
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Dimension2_ STRING(10) Financial dimension.

Dimension3_ STRING(10) Financial dimension.


Module and number Reference type indicates the relation to
InventRefType ENUM other modules.

The reference to, for example, a purchase line is structured


in such a way that the Reference type is Purchase, the
Reference number is the purchase number of the current
purchase, and the Reference lot is the lot number of a
specific purchase line under the current purchase. If the line
in the production BOM generated a purchase, you will be
able to see the reference to that purchase directly from the
generated reference.

A blank field means that there are no attachments to objects


in other modules. Editing in the field is not permitted.

SQL AX value Description


value

0 None

1 Sales Sales order

2 Purch Purchase order

3 Production Production

4 ProdLine Production line

5 InventJournal Inventory Journal

6 CRMQuotation CRM Quotation

7 InventTransfer Transfer order

Reference number displays any references to sales,


InventRefId STRING(20) purchases, production or production lines. The field is
dependent on the InventRefType .

Together with and , the field comprises the complete


reference to the object to which the production line refers.

The reference to, for example, a purchase line is structured in


such a way that the Reference type is Purchase, the Reference
number is the purchase number of the current purchase, and
the Reference lot is the lot number of a specific purchase line in
the current purchase. If the line in the production BOM
generates a purchase, you will be able to see the reference to
that purchase directly from the reference generated.

If the field is blank, there are no attachments to objects in


other modules. No editing is permitted in the field.

InventRefTransId STRING(20) Reference inventory transaction id.

Page 99
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

VendId STRING(20) For lines with Vendor define a vendor number that purchase
orders should be created for. If you leave this field blank, the
vendor will be obtained through the work center on the
attached operation.

UnitId STRING(10) Unit in which consumption is specified.

BackorderStatus ENUM Back order status indicates what remains to be carried out
for a specific BOM line. The back order status is related to
the production's back order status

SQL AX value Description


value

0 None

1 Release Materials remain to be


delivered to production in
relation to the cost-
estimated consumption.

2 Route Production remains to be


reported as finished or the
quantity reported as finished
is smaller than the quantity
started.

3 Receipt The production order


remains to be cost-
accounted. All materials
have been delivered; all
operations, reported as
finished; and the quantity,
reported as finished.

5 Completed Cost-accounting was run as


an end job. You can no
longer record in production
or edit directly in production.
The production status
cannot be set back. A
production should be cost-
accounted as an end job
when you no longer expect
there to be additional
feedback that is associated
with the production. The
prices used in cost-
accounting are calculated
via inventory closing.

Calculation ENUM This field allows you to define whether the bill of material line
should affect the estimating. When the field is marked for
calculation, the line is included in estimating. Estimating
calculates the expected cost price and sales price.
YES / NO

QtyInventStUp REAL Quantity started in the inventory unit.

Page 100
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

QtyBOMStUp REAL Quantity in the process in the bill of material unit

BOMId STRING(20) Reference to BOM id what was used when line was created.

Formula ENUM Formula used for calculating consumption.

SQL AX value Description


value

0 Formula0 Standard

1 Formula1 Height * Constant

2 Formula2 Height * Width * Constant

3 Formula3 Height * Width * Depth *


Constant

5 Formula4 (Height * Width *


Depth/Density) * Constant

BOMRefRecId INT64 Reference record id.

BOMQtySerie REAL Here you specify the number of units to which the value in
BOMQty applies.

ItemRouteId STRING(20) Route number for specific sub-route. If blank active are used.

ItemBomId STRING(20) BOM number for specific sub-BOM. If blank active are used.

InventDimId STRING(20) Reference to inventory dimensions combination.

ReqPOId STRING(20) Reference to master planning table.

ReqPlanIdSched STRING(10) Reference to master planning plan id.

RawMaterialTime TIME Scheduled time of material consumption

ScrapVar REAL Variable scrap percentage (must be specified in percent)

ScrapConst REAL Constant scrap in BOM unit

ConstantReleased ENUM Has constant consumption been released?


YES / NO

EndConsump ENUM Picking list journal has been posted with end field checked
YES / NO

EndSchedConsump ENUM EndSchedConsump


YES / NO

3.9.4 ProdRoute
Route can be defined as a series of interdependent work processes that are structured in such a manner that
they describe the work procedures involved in the production of one or more items produced by the company,
including the work centers and processes through which the item passes.

Production routes are based on Routes from base data, as the production route is generated in connection
Page 101
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

with Production creation as a copy of a route from base data. Thus, it is the route for the item for which a
production order is being created that is copied to the production route. The only exception is if the item has
no route and no route number was given for the item upon its creation. In that case, the production route is
blank.

The production route is an independent element where you are free to edit, insert, or delete information
without it affecting a corresponding route in the base data.
Field name Data type Field description
Displays operations in the selected Production that can be
ProdId STRING(20) changed or updated.
Define the operation number, which is an alphanumeric string of
OprNum INTEGER up to ten characters.

The operation number defines the sequence for the operation


that the production should go through. When you create a new
production route, 10 is automatically suggested as the first
operation number. Subsequent operation numbers will be
suggested as having increments of 10. You can change them
manually. If simultaneous operations are to be created, the
operations must be created with the same operation number.
Do this when several work centers are to be used
simultaneously. The relationship between simultaneous
operations is defined in Priority. The next operation to be
executed is defined in the Next field. If the operation is the last
operation, Next is defined as zero.
Level INTEGER
Displays the next operation number in the route network. It
OprNumNext INTEGER shows which Operation follows the current Operation. The last
Operation in the route network is defined as 0 (zero).
OprId STRING(10) Displays the operation in the production route that uses
Group or the attached Work center. You can define a
unique identification for the operation that is to be included in
the production route and choose the operation in the drop-
down list. This displays a list of all created operations. You
can also enter the operation manually.

Operations cannot be created with the same Oper. No. and


which use the same work center. An operation cannot be
included in the route more than once.

WrkCtrId STRING(10) Identify the work center or work center group to be used for
the operation.

TaskGroupId STRING(10) Specify a task group for searching for alternative work
centers. The field is used together with Job requirement of
the scheduling system when you search for alternative work
centers. Alternative work centers are sought when a conflict
arises concerning the work center specified for the operation.
Conflicts occur when there is insufficient capacity in the time
frame being scheduled for.
Displays the waiting time for Operation. Queue time before is
QueueTimeBefore REAL always positive. This time is scheduled according to the
Gregorian calendar and can be used with subcontractor work.
If selected, the setup time for clearing the work center is
SetupTime REAL included in the estimate. Setup time shows the fixed time that
is used to clear a work center. The time is scheduled on the
basis of the calendar of the defined work center. It is not
dependant on the production quantity. Similarly, a capacity
loading of the work center time is carried out in connection with
scheduling.

Page 102
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Process time is calculated for the cost estimation. Therefore,


ProcessTime REAL the field indicates the estimated process time in hours for the
operation.
Select to calculate the quantity from the scheduled production
ProcessPerQty REAL quantity.
Displays the time it takes to transfer the items to the next
TranspTime REAL location. Transit time is scheduled on the basis of the calendar
of the defined work center. No capacity loading is carried out for
the work center in connection with scheduling.
QueueTimeAfter REAL Displays the waiting time for Operation. This time is
scheduled according to the Gregorian calendar and can be
used with subcontractor work.
Displays the minimum time that must be used for production
OverlapQty REAL before overlap is allowed.
Displays the Scrap percentage for the operation. Scrap
ErrorPct REAL percentage defines the expected overuse for the operation.
This field must contain a positive value. Overuse is included
both in the estimate of material consumption and in the work
center consumption for the current operation.
Displays the accumulated Scrap percentage for an Operation.
AccError REAL
Displays a conversion factor for the times that are defined in the
ToHours REAL route. The conversion converts hours to hundredths of an hour.
TransferBatch REAL
Displays the Setup category for the Operation. The cost
SetUpCategoryId STRING(20) amount is calculated on the basis of the setup time defined in
Operation * the rate for setup time retrieved from the setup
type.
Displays Run time category for the Operation. The cost
ProcessCategoryId STRING(10) amount is calculated as the process time set for the route *
Scrap percentage for the route * the rate for operator time.
OprFinished ENUM Reported as finished
YES / NO
If the finished product has a Formula defined for the
FormulaFactor1 REAL calculation of material consumption, you can enter the factor
that is to be used in the Formula.
RouteType ENUM Select whether the operation will be completed with an
external vendor (Supplier) or at an internal work center
(Standard). During setup the field is filled in with the value for
Route type transaction type from the Operation, being
referred to.

SQL AX value Description


value

0 Standard Standard

1 Vendor Vendor

Page 103
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

BackorderStatus ENUM Indicates what remains to be carried out for a specific


operation. The back order status is related to the
production's back order status

SQL AX value Description


value

0 None None

1 Release Material consumption

2 Route Route consumption

3 Receipt Report as finished

5 Completed Ended

PropertyId STRING(10) Specify the Property needed for the operation at the given
Work center. Properties are defined in the Properties form.
During creation, the field is filled in with the value for
Property from the Operation being referred to.

RouteGroupId STRING(10) Specify the Routing group that is to control the operation.
The route groups control how the operation is handled in
connection with calculation, scheduling, job management,
and reporting.

QtyCategoryId STRING(10) Specify the cost category for the quantity. Use cost category
to specify a quantity-dependent cost for the operation.
Displays the scheduled start date for the operation. The start
FromDate DATE date is calculated in connection with operations scheduling or
jobs scheduling.
Displays the job scheduled start time for the operation. The start
FromTime TIME time is calculated in connection with jobs scheduling.
Displays the scheduled end date for the operation. The end
ToDate DATE date is calculated in connection with operations scheduling or
jobs scheduling.
Displays the scheduled job end time for the operation. The end
ToTime TIME time is calculated in connection with jobs scheduling.
CalcQty REAL Estimated quantity.

CalcSetUp REAL Estimated setup hour in number of hours

CalcProc REAL Estimated process consumption in hours

WrkCtrTaskDemand REAL Lowest requirement when choosing an alternative work


center
Priority is used in controlling simultaneous operations.
OprPriority ENUM Simultaneous operations are characterized by the fact that they
appropriate several work centers at the same time. This is done
by giving the same Oper. No. to all operations that are to be
executed simultaneously.

The priority determines which operation is the primary one. The


primary operation should be the operation loading the work
center that is regarded as the bottleneck for simultaneous
operations. A bottleneck work center is not defined in any
special way in the system, because individual routes and
productions determine which work centers form the bottleneck.
A work center regarded as a bottleneck on one route, and
Page 104
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

therefore defined as primary for simultaneous operations on that


route, can be secondary on another route. If the operation is not
primary, the times from the primary operation are used to
schedule the secondary operation. This means that the times do
not have to be specified for secondary operations. If there are
no parallel operations for an Oper. No., the operation should be
created with the priority of primary.

SQL AX value Description


value

0 Primary Primary

1 Secondary1 Secondary 1

2 Secondary2 Secondary 2

3 Secondary3 Secondary 3

4 Secondary4 Secondary 4

5 Secondary5 Secondary 5

Maximum capacity, displayed as a percentage, the work center


WorkCtrLoadPct REAL can be loaded with.
The number of work centers to be drawn on if a work center
WorkCtrNumOf REAL group is specified in Work center. The field always reads 1 if a
work center is specified in Work center.
Dimension STRING(10) Financial dimension.

Dimension2_ STRING(10) Financial dimension.

Dimension3_ STRING(10) Financial dimension.

Formula ENUM Method used to calculate the consumption for the line

SQL AX value Description


value

0 Formula0 Standard

1 Formula1 Capacity

RouteOprRefRecId INT64 Reference to other route line.

LinkType ENUM Attachment type to next job.

SQL AX value Description


value

0 None None

1 Soft Soft

2 Hard Hard

OprStartedUp ENUM Is the operation started?

Page 105
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

YES / NO

ExecutedProcess REAL Current total processing percent for process.


Current total processing percent for setup.
ExecutedSetup REAL
Indicates whether the constant consumption has been released.
ConstantReleased ENUM

YES / NO

JobIdProcess STRING(20) Process job ID

JobIdSetup STRING(20) Set up job ID

JobPayType ENUM Hourly rate / Piecework rate


Pay type on jobs that delimit this item.

SQL AX value Description


value

0 Empty All

1 Hours Hourly rate

2 PieceRate Piecework rate

3.9.5 ProdRouteJob
These jobs are generated when user runs scheduling, which is run after operations-scheduling on
productions that use the operations-scheduling function. Job scheduling is the detailed scheduling of
capacity; it divides operations into their individual task times or jobs. This division is used to increase the
accuracy of the detailed schedule by monitoring the individual tasks.

Field name Data type Field description

ProdId STRING(20) Production to which job is connected.


Displays the Oper. No. for the connected production route.
OprNum INTEGER

NumType INTEGER

JobType ENUM Displays the job type, which describes the type of work that is
to be carried out.

SQL AX value Description


value

0 QueueBefore Waiting time before the


operation can be started.

1 Setup Fixed time used for clearing


a work center before the
operation is started.

2 Process Time used for the execution


of the operation.

Page 106
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3 Overlap Operations scheduled to


start before the previous
one is finished.

4 Transport Time that it takes to transfer


the items to the next
location, which can be the
next work center, the
production route or stock.

5 QueueAfter The time the items must


wait after the operation is
finished and before the next
operation can start.

Link ENUM Link specifies the link that the job was created with. A link
tells how the current job is tied to the subsequent job.

SQL AX value Description


value

0 None There is no link to the next


job.

1 SS Job must start at the same


time the next job starts.

2 FF Job must end at the same


time the next job ends.

3 FS Job must end at the same


time the next job starts

4 SF Job must start at the same


time the next job ends.

Times are precisely the same only when the link type is Hard.
When the link type is Soft, there may be a time gap between
the two jobs. In other words, the next job can start later than
the link specifies.

LinkType ENUM This field indicates the attachment type.

SQL AX value Description


value

0 None

1 Soft Indicates that the job may be


placed later than what the
attachment defines.

2 Hard Indicates that the following


job must be placed as what
the attachment defines.

OprPriority ENUM Displays the priority for the production route. Priority can be
primary or secondary 1-5.

Page 107
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value Description


value

0 Primary Primary

1 Secondary1 Secondary 1

2 Secondary2 Secondary 2

3 Secondary3 Secondary 3

4 Secondary4 Secondary 4

5 Secondary5 Secondary 5

SchedCancelled ENUM If the current job is canceled with regard to the schedule, the
field is selected.
YES / NO
Indicates whether records can be made for jobs through job
JobControl ENUM recording.

YES / NO

WrkCtrId STRING(10) This field indicates which Work center will execute the job.
Work center is selected from the work center defined on the
production route.

FromDate DATE Indicates the scheduled start date for the job. The date is
determined in connection with operations scheduling and
jobs scheduling.

FromTime TIME Displays the scheduled start time for the job. The time is
determined in connection with jobs scheduling.

ToDate DATE Displays the scheduled end date for the job. The date is
determined in connection with operations scheduling and
jobs scheduling.

ToTime TIME Specifies the scheduled ending time for the job.

Page 108
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

JobStatus ENUM Current job status

SQL AX value Description


value

0 Coming Coming (Displayed until the


job is started.)

1 Waiting Waiting

2 Stopped Interrupted

3 Started Started

4 Completed Ended (Displayed when the


operation or production is
reported as finished. The
job status can be changed
to Ended via the job journal,
route journal, or reporting-
as-finished.)

Locked ENUM If this field is selected, the job has been locked against
rescheduling. Therefore, the job cannot be moved when a
new jobs scheduling or job planning is carried out. You can
use locking against rescheduling especially with regard to
express items, which have high requirements on fixed
delivery times.
YES / NO

PropertyId STRING(10) Displays the work center property that is required for the
execution of the job on this Work center. If you leave this
field blank, it indicates that the job requires no special
properties of the work center.

ExecutedPct REAL Displays the progress of the production in the form of a


percentage. The field is updated every time a recording is
carried out on the job. Recordings can take place when the
route journal or job journal is posted to the ledger.

JobId STRING(20) Unique identification of job

RealizedStartDate DATE Displays the actual start date for the job. The start date is
updated for the first time a recording is made on the job.
Recordings can occur when the route journal or job journal is
posted to the ledger.

RealizedStartTime TIME Displays the actual start time for the job. The start date is first
updated when a recording is made on the job. Recordings
can occur when the route journal or job journal is posted to
the ledger.

RealizedEndDate DATE Actual end date for the job. This field is updated when the job
is registered as finished. Jobs can be finished when the route
journal or job journal is posted to the ledger.

RealizedEndTime TIME Displays the actual end time for the job. It is updated when
the job is registered as finished. Jobs can be finished when
the route journal or job journal is posted to the ledger.

Page 109
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Secondary job number.


NumSecondary INTEGER
Primary job number.
NumPrimary INTEGER

SchedTimeHours REAL Scheduled time.


Calculated time.
CalcTimeHours REAL

JobFinished ENUM Is the job finished?


YES / NO

JobPayType ENUM Hourly rate / Piecework rate


Pay type on jobs that delimit this item.

SQL AX value Description


value

0 Empty All

1 Hours Hourly rate

2 PieceRate Piecework rate

3.9.6 ProdRouteTrans
This is table that includes production route realized transactions and detailed information. Each time a line
from a route sheet or job sheet journal is posted, a route transaction is created.

Field name Data type Field description

ProdId STRING(20) Production to which route transaction is connected.


Displays the operation number to which the posting is attached.
OprNum INTEGER The operation number, along with the production number and
the primary/secondary fields, forms a unique identifier for the
operation.
Displays the unique job number (the identifier of the job
JobId STRING(20) attached to the route transaction).

JobType ENUM Displays the job type for the transaction.

SQL AX value Description


value

0 QueueBefore Queue before

1 Setup Setup

2 Process Process

3 Overlap Overlap

4 Transport Transport

5 Queue after Queue after

Page 110
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Indicates which work center group has had feedback.


WrkCtrGroupId STRING(10)
Indicates which specific work center has had feedback.
WrkCtrId STRING(10)

Hours REAL Displays the number of feedback hours in the current record.

Time displays in hundredths of an hour. Therefore, 1.75


equals one hour 45 minutes.
Displays the cost of the time consumed in feedback. The price
HourPrice REAL is defined in the operation's cost category.
Quantity of items reported as finished in route transaction
QtyGood REAL without reported faults. This means items that are regarded as
being without fault at the time of recording. Also known as good
quantity.
Quantity of items with errors in the current record.
QtyError REAL

QtyCause ENUM If the current route record contains feedback on the error
quantity, it displays here.

SQL AX value Description


value

0 None

1 Material Material

2 Machine Machine

3 OperatingStaff Operator

Indicates which cost category has had feedback. The cost


CategoryId STRING(10) category is related to the consumption type in the Type field.
The price that is used in calculating the route record is
controlled by this type. You can also use the type to control
posting.
Displays the price for the quantity type. The price is attached to
QtyPrice REAL the cost category in Category.
EmplId STRING(10) Employee to whom the record is attached.
Indicates whether the operation to which the route record
OprFinished ENUM belongs is finished.

YES / NO
Displays the date when the calculation was posted to the
DateCalc DATE ledger, if the production is cost accounted.
VoucherWIP STRING(20) Displays the voucher number for WIP posts in the ledger.
Displays the date when the WIP was posted to the ledger. WIP
DateWIP DATE is automatically posted when journals are posted.
Dimension STRING(10) Financial dimension.

Dimension2_ STRING(10) Financial dimension.

Dimension3_ STRING(10) Financial dimension.


If this check box is selected, the transaction is cost accounted. If
Calculated ENUM it is cleared is cleared, the transaction is not included in the cost
accounting carried out for the production. If this is the case, this
transaction does not affect the value with which the item is
received in inventory.

Page 111
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

YES / NO
Indicates whether the route transaction belongs to a primary or
OprPriority ENUM secondary work center. In simultaneous operations, the primary
work center is used to specify which operation is to be the
controlling one in the scheduling. Secondary operations with the
same operation number are then scheduled simultaneously with
the primary one. This is defined in the route of a single
production. The production number of the route transaction is
displayed in the Production field.

SQL AX value Description


value

0 Primary

1 Secondary1 Secondary 1

2 Secondary2 Secondary 2

3 Secondary3 Secondary 3

4 Secondary4 Secondary 4

5 Secondary5 Secondary 5

Displays the starting time from which the time consumed for this
FromTime TIME route transaction is registered. Together with End time, this
field shows the time period used for working on this job at the
point of this recording. This field may be left blank.
Displays the time until which the time consumed for this route
ToTime TIME transaction is registered. Together with Start time, this field
displays the time period used for working on this job at the point
of this recording. This field may be left blank.
Indicates whether the job to which the route transaction belongs
JobFinished ENUM is finished. If the field is cleared, the job has not been reported
as finished by this recording.

YES / NO
Displays an approximation of an operation's progress at the
ExecutedPct REAL time of feedback.

If half of the operation has been carried out, the value is 50%.
Displays the total amount of route transactions posted to the
Amount REAL ledger. This is calculated as number of hours multiplied by the
hourly rate or quantity multiplied by the quantity price.
Displays the operation that has been carried out at this route
OprId STRING(10) transaction.

TransType ENUM Route transaction type

SQL AX value Description


value

0 Time Displayed when the


transaction is a time record.

1 Qty Displayed when the


transaction is a quantity
record.

Page 112
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

VoucherCalc STRING(20) Indicates which voucher series has been used at cost
accounting posting of issues from the work center. Work
center issue is the value that the route transaction has on the
basis of the WIP transactions posted earlier. The transaction
can later be settled with salary payments in the ledger.
Receipt account used when posting WIP to the ledger.
AccountWIPValuation STRING(20)
Indicates which account number has been used when posting
AccountWIPIssue STRING(20) WIP issues to the ledger. WIP issue is the value that is used by
the work centers at this route transaction. Therefore, you can
see in the ledger which value has been issued from the work
centers. Offset accounting is carried out to the account defined
in the WIP account field.
Displays the account number that has been used as an offset
AccountCalcIssueOffset STRING(20) account at cost accounting posting of issues from the work
center. The work center issue is posted using the value entered
in the amount field. The offset account contains the value that is
added to the company accounts in the form of finished products.
You can see in the ledger what value the work centers have had
with regard to a production. The account number is determined
by the way production has been set up on the Production
orders form and in Ledger. The account number is specified on
the basis of this setup, either using the cost category, work
center, or production group.
Displays the account number that has been used for posting
AccountCalcIssue STRING(20) cost accounting after work center issue. The WIP transactions
have been posted earlier. Therefore, you can see in the ledger
what value the work centers have had with regard to this route
transaction. The transaction is settled later with salary payments
in the ledger. The account number depends on the setup of the
production on the Production orders form and in Ledger. The
account number is determined by this setup, either using the
cost category, work center, or production group.
PostingWIPValuation ENUM Transaction type is a specification of the type of transaction.

SQL AX value Description


value

0 None

1 ExchRateGain Exchange rate


profit

2 ExchRateLoss Exchange rate


loss

3 InterCompany Intercompany
accounting

4 Tax Sales tax

5 VATRoundOff Sales tax


rounding

6 Allocation Allocation

7 InvestmentDuty Investment tax

8 Liquidity Liquidity

9 MSTDiffSecond Penny difference


in secondary
currency

Page 113
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

10 ErrorAccount Error account

11 MSTDiff Penny difference


in default currency

12 YearResult Year-end result

13 Closing Close

14 LedgerJournal Ledger journal

15 CashDiscount Cash discount

16 ConsolidateDiffBalance Balance account


for consolidation
differences

17 PaymentFee Payment fee

18 TaxReport Sales tax


reporting

19 TransferOpeningClosing Transfer of closing


and opening
balance

20 Bank Bank

21 ConversionProfit Conversion profit

22 ConversionLoss Conversion loss

23 TaxWithhold Withholding tax

31 CustBalance Customer balance

32 CustRevenue Customer revenue

33 CustInterest Customer interest

34 CustCashDisc Customer cash


discount

35 CostCollectionLetterFee Customer
collection letter
fee

36 CustInterestFee Customer interest


fee

37 CustInvoiceDisc Customer invoice


discount

38 CustPayment Customer
payment

39 CustReimbursement Reimbursement

40 CustSettlement Customer
settlement

41 VendBalance Vendor balance

42 VendPurchLedger Vendor incoming

Page 114
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

43 VendOffsetAccount Vendor offset


account

44 VendInterest Vendor interest

45 VendCashDisc Vendor cash


discount

46 VendPayment Vendor
disbursement

47 VendInvoiceDisc Vendor invoice


discount

48 VendSettlement Vendor settlement

51 SalesRevenue Sales order


revenue

52

53

54

55

56

57

58

59

60

61

62

63

64

65

206 SalesPackingslipTax Sales, packing


slip tax

71 PurchConsump Purchase,
consumption

PostingWIPIssue ENUM Enum Type as previous

PostingCalcIssueOffset ENUM Enum Type as previous

PostingCalcIssue ENUM Enum Type as previous

Cancelled ENUM Cancelled


YES / NO

Page 115
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.9.7 WrkCtrTable
This is table that includes resources for manufacturing called work centers. Work centers with similar functions
in the production process are usually assigned to the same work center group. The parameters for the group
are the default parameters for each work center in this group. This eliminates the need to define parameters
for each work center individually.

Work center groups are used to manage capacity in the company's production system. The company's work
centers are divided into 2 levels, i.e., and Work center. Group is primarily used in operations scheduling and is
therefore a superior level of capacity management.

Work center groups can be of the : Vendor ,Human resources Machine or Tool.

If the jobs/operations are carried out by an external work center (sub supplier), then when the Supplier is
selected, no capacity reservation will be made for machine capacity, although the planned time for the
supplier will be calculated as a production time in connection with scheduling.

It is possible to schedule operations for both the work center group and the work center. However, work
centers must always be associated with a , and the work center group must be associated with at least one
Work center. If the operation in the production route is associated with a Group, then the capacities of all
underlying work centers will be included in operations scheduling. Not until job scheduling with the optimum
in the chosen Group is selected.

Field name Data type Field description


Identification of the work center group.
WrkCtrGroupId STRING(10)
Work center or work center group to be assigned.
WrkCtrId STRING(10)
Work center name.
Name STRING(140)

WrkCtrType ENUM Work center type, machine, personnel, tool or sub


supplier.

SQL AX value Description


value

0 Vendor Select this type when the


group consists of external
work centers, for example
subcontractor. The type
enables you to generate
purchases for
subcontractors on the
basis of BOM lines /
production lines.

1 Personnel Select this type when the


work center group
consists of one or more
persons. You should only
create Personnel if you
want to job- schedule for
individual employees or
groups of people. For both
the operation and the

Page 116
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

work center, you can


specify a number of
operators as standard,
and you can follow the
work center consumption
for the operator time in the
operator profile. Normally
you schedule for work
center type Personnel if
the personnel capacity is
limited.

2 Machine Select this type when the


work center group
consists of machines.

3 Tool Select this type if the work


center group consists of
tools.

WrkCtrNumOf REAL Number of work centers included in the group

EffectivityPct REAL Specified here is the efficiency percentage for the work
center group in the WrkCtrGroupId dialog or for the work
center in the WrkCtrId dialog. This reduces or increases
the time required by an individual job.

OperationSchedPct REAL Max. percent of daily capacity to be operations scheduled


per production
This field shows in capacity units the work center's capacity
Capacity REAL per hour. You then specify in the CapUnit field which unit the
capacity is expressed in.
CapUnit ENUM Unit the capacity is measured in

SQL AX value Description


value

0 None

1 StrokesHour Strokes/hour

2 MeterHour Meters/hour

3 KgHour Lbs./hour

4 FormHour Data/hour

VendId STRING(20) When subcontractors are used in the production


sequence, you must select in WrkCtrId a work center of
type Sub supplier In connection with the scheduling of the
production no loading of the capacity on work centers of
type Sub supplier is carried out.

AccountWrkCtrIssue STRING(20) Ledger account for work center consumption.

AccountWIPValuation STRING(20) Receipt account for work center consumption in process

Created DATE Work center setup or creation date

Page 117
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

QueueTimeBefore REAL This field shows the time to wait before the operation can
be started. The value in the field must be positive. You set
up the field in the route group, where you can determine
whether queue time should be scheduled and which
calendar to use. Queue time can be used for sub supplier
work, for example.

SetupTime REAL The , which must be positive, is the fixed time to be used
for preparing a work center. Whether the time should be
scheduled, and whether capacity should be reserved or
the time should respect the working-time calendar
depends on the route group.

ProcessTime REAL Run time shows the time it takes to produce the process
quantity. If you did not specify a conversion factor in the
ToHours field for the route operation or the ToHours field
for the work center, then Run time is filled in automatically
with hours with two decimals. If you entered a value in
ToHours for the route operation, then the ToHours for
the work center will be overridden. ProcessPerQty must
be positive. For a description of conversion to other units
of time, see ToHours. The time is scheduled in relation to
the operation's TaskGroupId.

ProcessPerQty REAL Number of items that can be produced in the given


ProcessTime. Process qty. must be greater than 0 (zero).

TranspTime REAL Transit time shows the time it takes to move items
between two work centers or from the last operation to
inventory. How TranspTime is used depends on the setup
for the operation's route group. The transport time must be
positive.
The field value is transferred to the route operation when
you select the work center.

QueueTimeAfter REAL Queue time after is the time that the items have to wait
after the operation is finished before the next operation
can start. The field must be positive. The value in the field
will depend on the setup for the route group in
ProcessTime and can follow the Gregorian calendar or the
current working-time calendar. For example, you could
use the field to dry items before the start of the next
operation.
The overlap quantity is used to calculate the overlap time.
TransferBatch REAL The field value must be positive. Overlap time can be defined
as the minimum production time before overlap may occur.
Overlap time is scheduled according to the calendar and is
calculated in the following manner:

ProcessTime * (1 + Accumulated scrap pct) *


TransferBatch / ProcessPerQty

The setup for the route group will determine the choice of
calendar. Accumulated scrap pct is the accumulated scrap
percentage in the production process. If TransferBatch is 0
(zero) or greater than the quantity for the production, then the
overlap time will be 0 (zero).
Conversion factor to hours. (Factor X Time) = Time in hours.
ToHours REAL
Scrap percentage shows the expected extra consumption for
ErrorPct REAL the operation. The extra consumption is included in the
Page 118
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

calculation of both the material consumption and the work


center consumption for the current operation. The field must
be positive. Value is summarized from the Accumulated field
for the current route. Accumulated is used in the calculation
of extra consumption of materials and work center time for
the individual operations in the route. The formula for the
calculation is as follows: is Accumulated for the next
operation number * 100 / (100 - ErrorPct)
SetUpCategoryId STRING(10) Cost category proposal for setup time

ProcessCategoryId STRING(10) Cost category proposal for run time

Dimension STRING(10) Financial dimension.

Dimension2_ STRING(10) Financial dimension.

Dimension3_ STRING(10) Financial dimension.

IsGroup ENUM Work centre is work centre group.


YES / NO

AccountWIPIssue STRING(20) Issues account for work center consumption in process.

EmplId STRING(10) Employee referred to

CalendarId STRING(10) Work centre work calendar.

CapLimited ENUM This field allows you to select whether the capacity is
limited or unlimited. If this field is selected, the capacity
will be limited. With limited capacity, operations or jobs are
scheduled on the basis that it is not possible to engage
more capacity than what is available on the work center
group or work center. With unlimited capacity, already
reserved capacity on a work center group or work center
is not taken into account, which renders subsequent
reservations without meaning.

TaskGroupId STRING(10) Task group for searching for alternatives

WrkCtrTaskDemand REAL In this field you can specify a minimum requirement for
searching for alternative work centers.

PropertyLimited ENUM Does the work center operate with limited properties?
YES / NO

Exclusive ENUM Are job reservations exclusive from start to finish?


YES / NO

QtyCategoryId STRING(10) Cost category proposal for quantity

RouteGroupId STRING(10) Proposal for routing group

AccountWrkCtrIssueOffset STRING(20) Account used to debit work in process in connection with


costing.

3.9.8 WrkCtrCapRes
Table is used to reserve capacity on the particular Work center or Work center group. Capacity is the
percentage of company resources available for production. Scheduling is possible in different versions.

Page 119
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Field name Data type Field description

LoadType ENUM Load type, capacity for reservation

SQL AX value Description


value

0 Blank

1 Blank1

2 OperationSched Reservation made based


on a production order with
the status operations
scheduled or an
operations scheduled
production order that is
subsequently started.

3 JobSched Reservation made based


on a production order with
the status job scheduled or
a job scheduled production
order that is subsequently
started.

4 Deletemarked Used when scheduling has


been aborted, in which
case you can return to the
starting point.

Work center reservation date.


TransDate DATE
If the reservation was made based on master scheduling, then
ReqPlanId STRING(10) the requirement version that reserved the capacity is shown
here. You can work with several scheduling versions, which
allows you to compare them.
PropertyId STRING(10) Scheduled or reserved property

JobId STRING(20) Dispatch job that reserved the capacity.

JobType ENUM Job type of the route job

SQL AX value Description


value

0 QueueBefore Queue before

1 Setup Setup

2 Process Process

3 Overlap Overlap

4 Transport Transport

5 QueueAfter Queue after

Locked ENUM By selecting Locked you are no longer able to reschedule or


Page 120
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

change the reservation. This function can be used for rush


jobs or other important productions that need to be finished
on time. This way you ensure that the production is not
rescheduled. You can lock productions in the Production
table.
YES / NO

OprNum INTEGER Operation number that reserved the capacity


Number of the reference that created the reservation.
RefId STRING(20)

RefType ENUM Reference type that generated the reservation

SQL AX value Description


value

0 Blank

1 Production Reservation generated


based on a production order
that has at least been
operations scheduled.

2 PlannedOrder Reservation generated


based on Planned order.

3 Project Reservation generated


based on a Projects.

Load shows the percentage of the maximum capacity reserved.


WrkCtrLoadPct REAL This percentage depends on the Efficiency in percentage field
in the working-time calendar, the Efficiency percentage field
for the work center, and the Load field for the production route.
Identification of the work center group.
WrkCtrGroupId STRING(10)
Identification of the work center.
WrkCtrId STRING(10)
Seconds those are either reserved or available.
WrkCtrSec REAL

OprPriority ENUM Cause of error attached to the error quantity

SQL AX value Description


value

0 Primary

1 Secondary1 Secondary 1

2 Secondary2 Secondary 2

3 Secondary3 Secondary 3

4 Secondary4 Secondary 4

5 Secondary5 Secondary 5

The end time can either be the expected ending time of a


EndTime TIME production order with the status Job scheduled or the ending
time for available capacity. The value of reservations with the
load type Operations scheduled or the reference type Planned

Page 121
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

order is 0. Therefore, for operations scheduled production


orders and planned production orders that are not yet firm, you
are only able to read the reservation in hours. Consequently, the
time for execution of the production is not established.
The starting time can either be the expected starting time of
StartTime TIME production orders with the status Job scheduled or the starting
time for available capacity. The value of reservations with the
load type Operations scheduled or the reference type Planned
order is 0. Therefore, for operations scheduled production
orders and planned production orders that are not yet firm, you
are only able to read the reservation in hours.
IntvQr INTEGER Quarter of the date.

IntvMth INTEGER Month of the date.

IntvWk INTEGER Week of the date.

3.10 Bank transactions data structure


Data structure for the banking transactions in Dynamics AX is pretty simple. Three tables are linked
to each other with one-to-many relations. Below the content of these tables are described in more
detail.
Figure 14

3.10.1.1 BankAccountTrans
The transaction table, where all bank module transactions are stored. This table is linked with LedgerTable
and bank transactions in BankAccounTrans and LedgerTrans table should mach together.

Field name Data type Field description

Page 122
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.10.1.2 BankAccountTable
In this table all different bank accounts are stored what are used for money transfer. There is defined how
bank transactions are transferred to general ledger LedgerTrans table.

Field name Data type Field description

3.10.1.3 BankGroup
Table contains list of different banks what company uses in its everyday business.

Field name Data type Field description

3.11 Project transactions data structure


Project transactions data structure has several tables in the data model map. In central position
there is ProjTransPosting table, which consolidates all different project module transactions into the
one table. There five different project transaction types and each of them have its own register
(ProjEmplTrans, ProjOnAccountTrans, ProjRevenueTrans, ProjCostTrans, ProjItemTrans). These
five transaction tables contain more specific information depending on the transaction type and
these tables are synchronizing their content with the ProjTransPosting central table. ProjTable is
central register for projects, where also different project parameters are stored.
In the data model there are also other central registers linked to the transactions, like employees
(EmplTable), inventory (InventTable), chart of accounts (LegerTable) etc.
Figure 15

Page 123
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.11.1.1 ProjTransPosting
The central table for the project related transactions. There are five different project transaction types in the
project module: inventory transactions, employee transactions (work hours), cost transactions, revenue
transactions and on account transactions. All these transaction types have their own transaction register that
also synchronizes data with the ProjTransPosting table.

Field name Data type Field description

LedgerTransDate DATE Date of the transaction in ledger

ProjId CHAR(10) The project to which the transaction is attached.

Voucher CHAR(20) Transaction voucher number in general ledger LedgerTrans

TransId CHAR(20) Project module centric transaction number. Ties together many
tabels also from outside the project module.

ProjTransDate DATE Project date when the transaction was posted to the project.

Subscription INTEGER Specifies, if the transaction is related with accruals (for example
revenue accruals in fixed price projects)

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

DImansion3_ CHAR(10) Analytical Dimension no. 3 value

ProjTransType INTEGER Displays the project transaction type – from which project

Page 124
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

accounting journal the transaction in originated. Options are:

SQL AX value Description


value

1 Revenue Transaction is created from project


module revenue journal

2 Hour Transaction is created from project


module hour journal

3 Cost Transaction is created from project


module cost journal

4 Item Transaction is created from project


module item journal

5 OnAccount Transaction is created from project


module on account register related with
Fixed Price projects

6 WIP Transaction is created during Work In


Progress calculation

AmountMst REAL Transaction amount in the default company currency. Can be


positive or negative value, represents debit or credit transaction in
GL transaction table LedgerTrans

Account CHAR(20) General ledger account used while posting the transaction in GL

PostingType INTEGER Posting specific type identifies what process in project module
created the transaction.
Values can be following:

SQL AX value
value
121 ProjCost 
122 ProjPayrollAllocation 
123 ProjWIPCostvalue
124 ProjOffsetAccountItem
125 ProjStatusAccountItem 
126 ProjTurnover 
127 ProjOnAccount 
128 ProjSalesvalue
129 ProjSalesvalueOffset 
130 ProjAccruedTurnoverProd 
131 ProjWIPProduction 
132 ProJAccruedTurnoverProfit 
133 ProjWIPProfit
134 ProjNeverLedger 
135 ProjAccruedCost 
136 ProjWIPCost 
137 ProjAccruedRevenueOnAccount 
138 ProjWIPInvoicedOnAccount 
Page 125
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

139 ProjNoLedger 
207 ProjAccruedRevenueSubscription 
208 ProjWIPSubscription 
costSales INTEGER Specifies whether transaction is sales or cost related.
Values:

SQL AX value
value

0 None

1 Cost

2 Sales

InventTransId CHAR(20) Identification of inventory transaction in central inventory


transactions table InventTrans.
ProiTransosting.InventTransId = InventTrans.InventTransId
Only inventory related project module transactions are related with
inventory module. In case there is no relation,
ProiTransosting.InvenTransId is empty.

ProjAdjustRef CHAR(20) Inventory transaction relation to the inventory module transaction


table InventTrans.ProjAdjustRefId. In case of inventory cost
adjustment this code links project related inventory module
transactions with the relevant project module transaction.

EmplId CHAR(20) The employee attached to the transaction.

CategoryId CHAR(10) The project category to which the transaction is attached.

Qty REAL View the quantity associated with the transaction, if any.

Elimination INTEGER Identified if the transaction is created during fixed price project
elimination process.
No/Yes

ProjType INTEGER Specifies the project type related with the transaction:

SQL AX value
value

0 Time & Material project

1 Fixed price project

2 Investment project

3 Cost accounting project

4 Internal project

5 Time consumption project

3.11.1.2 ProjTable
The table is central project register for Dynamics AX solution. The table contains different project specific

Page 126
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

setup parameters. In this table also project hierarchy is stored. Lines from this table can be used in
dimensional analyses as inventory dimensions.

Field name Data type Field description

ProjGroupId STRING(10) The project group that the current project is going to be part of

ProjId STRING(10) The project number, unique identifier

Name STRING(60) A free text name for the project

Created DATE Project creation date. This date is automatically inserted when the
project is created

StartDate DATE Project start date

EndDate DATE Project end date

CustAccount STRING(20) Customer account, if any, related to the project.

Dimension STRING(10) Analytical Dimension no. 1 value

Dimension2_ STRING(10) Analytical Dimension no. 2 value

Dimension3_ STRING(10) Analytical Dimension no. 3 value

ResponsibleSales STRING(10) Sales employee in charge of the project.

ProjInvoiceProjId STRING(10) Reference to the invoice project. The invoice project determines
the invoice and payment conditions of a project.

DlvCounty STRING(10) Shows the county for the address.

DlvCountryReguionId STRING(10) Unique identification of the country/region.

DlvState STRING(10) Shows the state for the address.

Responsible STRING(10) The person in charge of the project.

ParentId STRING(10) Shows the parent project of a child project, if any. If the current
project is at the top level, the field is empty.

SortingId STRING(10) Additional parameter for project description.

SortingId2_ STRING(10) Additional parameter for project description.

SortingId3_ STRING(10) Additional parameter for project description.

Status INTEGER The status of the current project. Values can be:

SQL AX value Description


value

0 Created Initial stage.

1 Estimated Manually activated. This stage


normally signifies that project
estimation has been conducted.

2 Scheduled Automatically activated on scheduling


hour consumption.

3 In process Manually activated. This stage


normally signifies start of the project.

4 Completed Manually activated.

Page 127
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

WIPProject STRING(10) The estimate project reference is the reference for posting
estimates. Any project in the project hierarchy can be specified as
an estimate project. Filed is relevant only in fixed price projects.

Type INTEGER The project's type. Values can be:

SQL AX value
value

0 Time and material

1 Fixed price

2 Investment

3 Cost

4 Internal

5 Time

ResponsibleFinancial STRING(10) The person who is financially responsible for the project (project
controller).

Template INTEGER This field is selected if the current project should be applied as a
template for projects set up with the Copy project wizard.
No/Yes

3.11.1.3 ProjEmplTrans
The Table is specific transaction register for the project employee transactions. ProjEmplTrans specialty is
the employee work hours registration for project accounting purposes. All transaction from this register are
synchronized also to ProjTransPosting table (central project transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

EmplId CHAR(10) Employee to whom the transaction is attached.

CathegoryId CHAR(10) Project category that is attached to the transaction.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

TransDate DATE Date the transaction was posted to the project.

Txt CHAR(60) Text entered into the Transaction text field when the journal is
posted

Qty REAL Number of hours that are attached to the transaction.

CostPrice REAL Cost price per hour of the current category.

SalesPrice REAL Sales-price per hour of the current category. This price includes
any additional costs and miscellaneous charges.

LedgerTsatusCost INTEGER Current placement in ledger that is balance sheet, profit and loss,
or posted, but not financially updated in the ledger.

Page 128
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value Description


value

0 No ledger No posting on ledger accounts when


hours are posted from journals. Upon
invoicing hours are debited to the
cost account and credited to the
payroll allocation account. This option
is optional on time and material
projects and internal projects.

1 Balance Hours are debited to the cost value


account and credited to the payroll
allocation account when the journal is
posted. Optional for internal projects
and time and material projects.

2 Profit and Costs of hours are debited to the cost


loss account and credited to the payroll
allocation account when the journal is
posted. This option is mandatory on
fixed-price projects, investment
projects, and cost projects. When this
option is selected, revenue can be
accrued on the hour transaction.

3 Never No posting on ledger accounts when


ledger hours are posted from journals. This
option is mandatory on Time projects
and optional on time and material
projects and internal projects. When
this option is selected, revenue can
be accrued on the hour transaction.
Hour transactions are never posted
to Ledger accounts, on journal
posting (Post costs), or upon
invoicing. Therefore, ledger
transactions are not created.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

TransId CHAR(20) Transaction identifier in project module

CurrencyId CHAR(3) Currency for invoicing of a transaction.

ActivityId CHAR(10) Identification of project activity.

LedgersalesAmount REAL Sales amount posted to the ledger

WIPPeriod DATE Specifies which WIP period the transaction is attached to.

VoucherJournal CHAR(20) Voucher number of the voucher attached to the journal.

FromTime TIME Start time that was entered for a transaction.

ToTime TIME End time that was entered for a transaction.

TransStatus INTEGER Status of the transaction.

Page 129
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value
value

0 No status

1 Registered

2 Posted

3 Invoice proposal

4 Invoiced

5 Marked credit note

6 Credit note proposal

7 Estimated

8 Eliminated

9 Adjusted

3.11.1.4 ProjOnAccTrans
The Table is specific transaction register for the project on account (prepayment) transactions.
ProjOnAccTrans specialty is payment registration accordingly to agreed payment schedule for project
accounting purposes. All transaction from this register are synchronized also to ProjTransPosting table
(central project transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

TransDate DATE Date the transaction was posted to the project.

Description CHAR(60) Text entered into the Transaction text field when the journal is
posted

Amount REAL The amount that the customer is invoiced.

OffsetTransaction INTEGER This check box indicates that the current transaction line is an
offset transaction.
If the current project is a fixed-price project, this check box is left
blank because no offset transactions are entered for fixed-price
projects.
For a time-and-material project, on the other hand, this check box
is left blank on the line where the on-account amount is entered.
On the following lines the offset transactions are entered with a
negative sign, and for these lines this check box is selected.

TransId CHAR(20) Transaction identifier in project module

Currency CHAR(3) Currency in which the project is invoiced.

WIPPeriod DATE Specifies which WIP period the transaction is attached to..

LedgersalesAmount REAL Sales amount posted to the ledger

TransStatus INTEGER Status of the transaction.

Page 130
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

SQL AX value
value

0 No status

1 Registered

2 Posted

3 Invoice proposal

4 Invoiced

5 Marked credit note

6 Credit note proposal

7 Estimated

8 Eliminated

9 Adjusted

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

3.11.1.5 ProjRevenueTrans
The Table is specific transaction register for the project revenue transactions. ProjRevenueTrans specialty is
the project revenue transactions registration for project accounting purposes. All transaction from this register
are synchronized also to ProjTransPosting table (central project transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

CathegoryId CHAR(10) Project category that is attached to the transaction.

TransDate DATE Date the transaction was posted to the project.

Txt CHAR(60) Text entered into the Transaction text field when the journal is
posted

SalesPrice REAL Sales-price of the current category. This price includes any
additional costs and miscellaneous charges.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

LedgerSalePosted INTEGER This check box is selected if revenue from a transaction of type
Fee has been accrued.
If revenue has been accrued on a project, it will be charged to
the WIP sales value account and placed as credit on the
accrued revenue sales value account.

Page 131
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

No/Yes

CurrencyId CHAR(3) Currency for invoicing of a transaction.

TransId CHAR(20) Transaction identifier in project module

LedgerSalesAmount REAL Sales amount posted to the ledger

VoucherJournal CHAR(20) Voucher number of the voucher attached to the journal.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

Price REAL Shows the amount invoiced to the customer.

Qty REAL Quantity attached to the transaction.

EmplId CHAR(10) Employee to whom the transaction is attached.

WIPPeriod DATE Specifies which WIP period the transaction is attached to.

WIPType INTEGER Specifies optional project WIP types.


Possible values:

SQL AX value
value

0 Accrued revenue

1 Accrued revenue – Production

2 Accrued revenue – Profit

3 Cost

ControlVersion INTEGER Specifies version number for the WIP calculation period for the
current transaction (WIP calculations per period may be cancelled
and recalculated)

ControlId CHAR10 Identification of cost template

Origin INTEGER Shows whether the transaction was generated from a journal
transaction, an estimate or a subscription.
Values:

SQL AX value
value

0 Journal

1 Estimate

2 Services module subscription

TransStatus INTEGER Status of the transaction.

SQL AX value
value

0 No status

1 Registered

2 Posted

Page 132
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3 Invoice proposal

4 Invoiced

5 Marked credit note

6 Credit note proposal

7 Estimated

8 Eliminated

9 Adjusted

3.11.1.6 ProjCostTrans
The Table is specific transaction register for the project cost transactions. ProjCostTrans specialty is the cost
transaction registration (not inventory or work hour related costs, like subcontracting, consultancy etc.) for
project accounting purposes. All transaction from this register are synchronized also to ProjTransPosting table
(central project transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

CathegoryId CHAR(10) Project category that is attached to the transaction.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

TransDate DATE Date the transaction was posted to the project.

Txt CHAR(60) Text entered into the Transaction text field when the journal is
posted

Qty REAL Number of hours that are attached to the transaction.

CostPrice REAL Cost price per hour of the current category.

SalesPrice REAL Sales-price per hour of the current category. This price includes
any additional costs and miscellaneous charges.

LedgerTsatusCost INTEGER Current placement in ledger that is balance sheet, profit and loss,
or posted, but not financially updated in the ledger.

SQL AX value Description


value

0 No ledger No posting on ledger accounts when


hours are posted from journals. Upon
invoicing hours are debited to the
cost account and credited to the
payroll allocation account. This option
is optional on time and material
projects and internal projects.

1 Balance Hours are debited to the cost value


account and credited to the payroll
allocation account when the journal is
posted. Optional for internal projects
and time and material projects.

Page 133
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

2 Profit and Costs of hours are debited to the cost


loss account and credited to the payroll
allocation account when the journal is
posted. This option is mandatory on
fixed-price projects, investment
projects, and cost projects. When this
option is selected, revenue can be
accrued on the hour transaction.

3 Never No posting on ledger accounts when


ledger hours are posted from journals. This
option is mandatory on Time projects
and optional on time and material
projects and internal projects. When
this option is selected, revenue can
be accrued on the hour transaction.
Hour transactions are never posted
to Ledger accounts, on journal
posting (Post costs), or upon
invoicing. Therefore, ledger
transactions are not created.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

LedgerSalesPosted INTEGER Specifies if the transaction is posted to the general ledger or no


No/Yes field

TransId CHAR(20) Transaction identifier in project module

CurrencyId CHAR(3) Currency for invoicing of a transaction (sales currency).

LedgersalesAmount REAL Sales amount posted to the ledger

WIPPeriod DATE Specifies which WIP period the transaction is attached to.

CostPriceCurrency REAL Amount in currency

CurrencyIdCost CHAR(3) Current currency code that was used for entering the expense.

VoucherJournal CHAR(20) Voucher number of the voucher attached to the journal.

CostAmountLedger REAL Cost amount posted to the ledger in the company currency

EmplId CHAR(10) Employee to whom the transaction is attached.

Origin INTEGER Shows whether the transaction was generated from a journal
transaction, an estimate or a subscription.
Values:

SQL AX value
value

0 Journal

1 Estimate

2 Services module subscription

Page 134
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

TransStatus INTEGER Status of the transaction.

SQL AX value
value

0 No status

1 Registered

2 Posted

3 Invoice proposal

4 Invoiced

5 Marked credit note

6 Credit note proposal

7 Estimated

8 Eliminated

9 Adjusted

3.11.1.7 ProjItemTrans
The Table is specific transaction register for the project inventory transactions. ProjItemTrans specialty is
the inventory transactions registration for project accounting purposes. All transaction from this register are
synchronized also to ProjTransPosting table (central project transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

CathegoryId CHAR(10) Project category that is attached to the transaction.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

TransDate DATE Date the transaction was posted to the project.

Txt CHAR(60) Text entered into the Transaction text field when the journal is
posted

Qty REAL Number of items that are attached to the transaction.

SalesPrice REAL Item sale sprice

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

LedgerSalesPosted INTEGER Specifies if the transaction is posted to the general ledger or no


No/Yes field

InventTransId CHAR(20) Transaction identifier in inventory module

CurrencyId CHAR(3) Currency for invoicing of a transaction (sales currency).

Page 135
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

LedgersalesAmount REAL Sales amount posted to the ledger

ItemId CHAR(20) Inventory item number attached to the transaction.

PackingSlipId CHAR(20) Identification of the packing slip.

VoucherPackingSlip CHAR(20) Packing slip voucher number in the ledger.

ProjTransId CHAR(20) Transaction identifier in project module

ItenType INTEGER Specifies available project/item transaction types, in which


modules inventory transaction is created.
Values can be:

SQL AX value
value

0 Item requirements (Project)

1 Sales order

2 Item journal

3 Purchase order

SalesInvoiceId CHAR(20) Identification of the invoice.

InventDimId CHAR(20) Foreign key to the table InventDim. Each InventDimId contains
unique dimension combination

ProjAdjustRefId CHAR(20) Inventory transaction relation from InventTrans table to the project
module transaction table ProjTransPosting.ProjAdjustRefId and
ProjItemTrans.ProjAdjustRefId. In case of inventory cost
adjustment this code links project related inventory module
transactions with the relevant project module transaction.
Ledger account for posting lines to a specific sales account.
LedgerAccount CHAR(20)

SalesUnit CHAR(20) Shows the unit of the item that was consumed, for example,
gallons of paint or meters of cable.

LineAmount REAL Sales amount of the line (incl. discount).

TransStatus INTEGER Status of the transaction.

SQL AX value
value

0 No status

1 Registered

2 Posted

3 Invoice proposal

4 Invoiced

5 Marked credit note

6 Credit note proposal

7 Estimated

Page 136
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

8 Eliminated

9 Adjusted

3.11.1.8 InventTable
For the table description please see p. 3.8.1.4

3.11.1.9 ProjCategory
The ProjCategory table is register that contains different cost categories, which can be used for different
project transactions in transaction tables (ProjEmplTrans, ProjRevenueTrans, ProjCostTrans,
ProjItemTrans). Project cost categories are useful for analyses purposes and also they are used while
setting up project transactions posting rules to the general ledger transactions.

Field name Data type Field description

CategoryId The unique name for the category.

Name Descriptive name for the category, no more than 30 characters


long.

CategoryGroupId A category group for the specific category.

CategoryType The transaction type of the category is inherited from the


transaction type of the category group.
Values can be:

SQL AX value
value

0 None

1 Fee

2 Hour

3 Expense

4 Item

3.11.1.10 ProjCategoryGroup
Project categories defined in ProjCategory table must belong to the project category group that groups
together project categories that are similar to each other. It means that categories have two level hierarchies
for reporting purposes.

Field name Data type Field description

CategoryId The unique name for the category.

Name Descriptive name for the category, no more than 30 characters


long.

Page 137
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

CategoryType One of the five predefined transaction types, depending on what


transactions are going to be posted on the category group.
Values can be:

SQL AX value
value

0 None

1 Fee

2 Hour

3 Expense

4 Item

3.11.1.11 LedgerTable
For the table description please see p. 3.1.1

3.11.1.12 EmplTable
The table is central register for the company employees.

Field name Data type Field description

EmplId CHAR(10) Employee ID code.

Name CHAR(60) The name of an employee

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

Status INTEGER Employee's status:

SQL AX value
value

0 None

1 Employed

2 Terminated

3.11.1.13 Dimensions
For the table description please see p. 3.1.2

Page 138
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.12 Project forecast data structure


Project forecast data structure has several tables in the data model map. In central position there is
ProjTransBudget table, which consolidates all different project module forecast transactions into the
one table. There five different project forecast transaction types and each of them has its own
register (ProjForecastEmpl, ProjForecastOnAccount, ProjForecastRevenue, ProjForecastCost,
ForecastSales). These five transaction tables have more specific information regarding its
specification ant they are synchronizing its content to the ProjTransBudget table. ProjTable is
central register for projects, where also different project parameters are stored.
In case there is need to compare actual project costs with the project forecast, then comparison
between ProjTransPosting and ProjTransBudget should be done
In the data model there are also other central registers linked to the transactions, like employees
(EmplTable), inventory (InventTable), chart of accounts (LegerTable) etc.
Figure 16

3.12.1.1 ProjTransBudget
The central table for the project related forecast transactions. There are five different project forecast
transaction types in the project module: inventory transactions, employee transactions (work hours), cost
transactions, revenue transactions and on account transactions. All these transaction types have their own
transaction register that also synchronizes itself with the ProjTransBudget table.

Field name Data type Field description

LedgerTransDate DATE Date of the transaction

Page 139
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ProjId CHAR(10) The project to which the transaction is attached.

Voucher CHAR(20) Transaction voucher number in general ledger LedgerTrans

TransId CHAR(20) Project module centric transaction number. Ties together many
tabels also from outside the project module.

ProjTransDate DATE Project date when the transaction was posted to the project.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

DImansion3_ CHAR(10) Analytical Dimension no. 3 value

ProjTransType INTEGER Displays the project transaction type – from which project
accounting journal the transaction in originated. Options are:

SQL AX value Description


value

1 Revenue Transaction is created from project


module revenue journal

2 Hour Transaction is created from project


module hour journal

3 Cost Transaction is created from project


module cost journal

4 Item Transaction is created from project


module item journal

5 OnAccount Transaction is created from project


module on account register related with
Fixed Price projects

6 WIP Transaction is created during Work In


Progress calculation

AmountMst REAL Transaction amount in the default company currency. Can be


positive or negative value, represents debit or credit transaction in
GL transaction table LedgerTrans

Account CHAR(20) General ledger account used while posting the transaction in GL
budget

PostingType INTEGER Posting specific type identifies what process in project module
created the transaction.
Values can be following:

SQL AX value
value
121 ProjCost
122 ProjPayrollAllocation 
123 ProjWIPCostvalue 
124 ProjOffsetAccountItem 
125 ProjStatusAccountItem
126 ProjTurnover 

Page 140
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

127 ProjOnAccount 
128 ProjSalesvalue 
129 ProjSalesvalueOffset 
130 ProjAccruedTurnoverProd 
131 ProjWIPProduction 
132 ProJAccruedTurnoverProfit 
133 ProjWIPProfit 
134 ProjNeverLedger
135 ProjAccruedCost 
136 ProjWIPCost 
137 ProjAccruedRevenueOnAccount 
138 ProjWIPInvoicedOnAccount 
139 ProjNoLedger
207 ProjAccruedRevenueSubscription 
208 ProjWIPSubscription 
costSales INTEGER Specifies whether transaction is sales or cost related.
Values:

SQL AX value
value

0 None

1 Cost

2 Sales

EmplId CHAR(20) The employee attached to the transaction.

CategoryId CHAR(10) The project category to which the transaction is attached.

Qty REAL View the quantity associated with the transaction, if any.

Elimination INTEGER Identified if the transaction is created during fixed price project
elimination process.
No/Yes

ProjType INTEGER Specifies the project type related with the transaction:

SQL AX value
value

0 Time & Material project

1 Fixed price project

2 Investment project

3 Cost accounting project

4 Internal project

5 Time consumption project

ModelId CHAR(10) The budget model for the record.

Page 141
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.12.1.2 ProjTable
For the table description please see p. 3.10.1.2

3.12.1.3 ProjForecastEmpl
The Table is specific forecast transaction register for the project employee forecast. ProjForecastEmpl
specialty is the employee work hours forecasting for project budgeting purposes.

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

EmplId CHAR(10) Employee to whom the transaction is attached.

CathegoryId CHAR(10) Project category that is attached to the transaction.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

Qty REAL Number of hours that are attached to the transaction.

CostPrice REAL Cost price per hour of the current category.

SalesPrice REAL Sales-price per hour of the current category. This price includes
any additional costs and miscellaneous charges.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

ModelId CHAR(10) The budget model for the record.

Txt CHAR(60) Text entered into the Transaction text field when the forecast is
created

CurrencyId CHAR(3) Currency for invoicing of a transaction.

Active INTEGER Field is selected if the transaction is included in the budget


No/Yes

SchedToDate DATE End date calculated for the current activity.

SchedFromDate DATE Start date calculated for the current activity.

SchedWrkCtrId CHAR(10) Work center to be used for the task.

ActivityId CHAR(10) Activity for which you want to create a forecast.


Activities are specific tasks to be performed on a specific project.
Thus activities are always project-specific

TransId CHAR(20) Transaction identifier in project module

SalesPaymDate DATE Expected payment date of the revenue

CostPaymDate DATE Expected payment date of the cost

Page 142
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

InvoiceDate DATE The forecasted invoice date. The invoice date calculated for
forecast transactions depends on the invoice frequency defined
on the invoice project.

EliminationDate DATE The elimination date. When the forecast is created, the
elimination date is set to the end date of the project. If the project
has no end date, the project date will be applied. Applies to fixed-
price projects and investment projects.

ExchRate Currency exchange rate to the company currency

JobId Unique identification of production jobs. Jobs are generated by


the scheduling system and form the highest level of detail for the
elements of an operation.

3.12.1.4 ProjForecastOnAcc
The Table is specific forecast transaction register for the project on account (prepayment) forecast.
ProjForecastOnAcc specialty is payment forecasting for project accounting purposes.

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

SalesPrice REAL The amount that the customer is invoiced.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

ModelId CHAR(10) The budget model for the record.

Currency CHAR(3) Currency in which the project is invoiced.

Txt CHAR(60) Text entered into the Transaction text field when the journal is
posted

TransDate DATE Date the transaction was posted to the project.

TransId CHAR(20) Transaction identifier in project module

SalesPaymDate DATE Expected payment date of the revenue

InvoiceDate DATE The forecasted invoice date. The invoice date calculated for
forecast transactions depends on the invoice frequency defined
on the invoice project.

EliminationDate DATE The elimination date. When the forecast is created, the
elimination date is set to the end date of the project. If the project
has no end date, the project date will be applied. Applies to fixed-
price projects and investment projects.

3.12.1.5 ProjForecastRevenue
The Table is specific forecast transaction register for the project revenue forecasts. ProjRevenueTrans
specialty is the project revenue forecasting for project accounting purposes.

Page 143
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

The table contains two types of lines, ones for setup purposes and others for reporting and analyses
purposes. Transactions from this register are synchronized also to ProjTransBudget table (central project
forecast transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

CathegoryId CHAR(10) Project category that is attached to the transaction.

SalesPrice REAL Sales-price of the current category. This price includes any
additional costs and miscellaneous charges.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

ModelId CHAR(10) The budget model for the record.

CurrencyId CHAR(3) Currency for invoicing of a transaction.

PeriodAllocateId CHAR(10) Allocation key, if any, according to which transaction is allocated


(used in setup type rows)

FreqCode Units are measured in Days, Months, or Years to define how


frequently current budget transaction is generated

SQL AX value
value

0 Day

1 Month

2 Year

ExpandId INTEGER Reference to the setyp type transaction based on what current
transactions are created (exploded). Value is 0 if there is no
explosion.

Freq How many units of code is the jump per transaction (related with
FreqCode field?

Report INTEGER Field is defining if the record is setup type budget line or reporting
type budget line.

SQL AX value Description


value

0 No Transaction is setup type


budgeting line

1 Yes Transaction is reporting type


budgeting line

Active INTEGER Marked if the amount should be included in the current budget. By
default, the field is marked as active when a budget line is
created.

SQL AX value Description


value

Page 144
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

0 No Inactive

1 Yes Active

Txt CHAR(60) Text entered into the Transaction text field to describe the
forecast line

Stop INTEGER Indicates whether the current budget transactions should be


excluded from allocations during simulations.

SQL AX value Description


value

0 No Not stopped

1 Yes Stopped

EndDate DATE Last date of the posting period for this periodic transaction. Used
in setup lines.

StartDate DATE Date from which the budget amount will be in effect.

AllocateMethod CHAR(10) Methods for allocating the forecast transaction:

SQL AX value Description


value

0 None No allocation takes place. Budget line is


reporting type budget transaction.

1 Period Quantity with the number of units defined


in the field FreqCode. This method is
used if forecast with the same quantity
per period.

2 Key The forecast is allocated according to the


period allocation key specified in the field
Key. This method is used if seasonal
variation should be taken into account.

CovStatus INTEGER Status of cash flow forecast for the current transaction.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

TransId CHAR(20) Transaction identifier in project module

SalesPaymDate DATE Expected payment date of the revenue

InvoiceDate DATE The forecasted invoice date. The invoice date calculated for
forecast transactions depends on the invoice frequency defined
on the invoice project.

3.12.1.6 ProjForecastCost
The Table is specific forecast transaction register for the project cost forecasts. ProjCostTrans specialty is the
cost transaction forecasting (non-inventory or work hour related costs but costs like subcontracting,
consultancy etc.) for project accounting purposes.
The table contains two types of lines, ones for setup purposes and others for reporting and analyses
purposes. Transactions from this register are synchronized also to ProjTransBudget table (central project

Page 145
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

forecast transaction register)

Field name Data type Field description

ProjId CHAR(10) Project to which the transaction is attached. Reference to the


ProjTable

CathegoryId CHAR(10) Project category that is attached to the transaction.

LinePropertyId CHAR(10) Line property that is attached to the transaction.

EndDate DATE Last date of the posting period for this periodic transaction. Used
in setup lines.

Qty REAL Number of hours that are attached to the transaction.

CostPrice REAL Cost price per hour of the current category.

SalesPrice REAL Sales-price per hour of the current category. This price includes
any additional costs and miscellaneous charges.

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value

ModelId CHAR(10) The budget model for the record.

CurrencyId CHAR(3) Currency for invoicing of a transaction (sales currency).

PeriodAllocateId CHAR(10) Allocation key, if any, according to which transaction is allocated


(used in setup type rows)

FreqCode Units are measured in Days, Months, or Years to define how


frequently current budget transaction is generated

SQL AX value
value

0 Day

1 Month

2 Year

Freq How many units of code is the jump per transaction (related with
FreqCode field?

ExpandId INTEGER Reference to the setyp type transaction based on what current
transactions are created (exploded). Value is 0 if there is no
explosion.

Report INTEGER Field is defining if the record is setup type budget line or reporting
type budget line.

SQL AX value Description


value

0 No Transaction is setup type


budgeting line

1 Yes Transaction is reporting type


budgeting line

Page 146
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

Active INTEGER Marked if the amount should be included in the current budget. By
default, the field is marked as active when a budget line is
created.

SQL AX value Description


value

0 No Inactive

1 Yes Active

Txt CHAR(60) Text entered into the Transaction text field to describe the
forecast line

Stop INTEGER Indicates whether the current budget transactions should be


excluded from allocations during simulations.

SQL AX value Description


value

0 No Not stopped

1 Yes Stopped

StartDate DATE Date from which the budget amount will be in effect.

AllocateMethod CHAR(10) Methods for allocating the forecast transaction:

SQL AX value Description


value

0 None No allocation takes place. Budget line is


reporting type budget transaction.

1 Period Quantity with the number of units defined


in the field FreqCode. This method is
used if forecast with the same quantity
per period.

2 Key The forecast is allocated according to the


period allocation key specified in the field
Key. This method is used if seasonal
variation should be taken into account.

CovStatus INTEGER Status of cash flow forecast for the current transaction.

ProjAllocateId CHAR(10) Allocation rules for project cost allocation

TransId CHAR(20) Transaction identifier in project module

SalesPaymDate DATE Expected payment date of the revenue

CostPaymDate DATE Expected payment date of the cost

InvoiceDate DATE The forecasted invoice date. The invoice date calculated for
forecast transactions depends on the invoice frequency defined
on the invoice project.

EliminationDate DATE The elimination date. When the forecast is created, the
elimination date is set to the end date of the project. If the project
has no end date, the project date will be applied. Applies to fixed-
price projects and investment projects.

Page 147
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

ExchRate Currency exchange rate to the company currency

3.12.1.7 ForecastSales
The Table is forecast transaction register for the project inventory forecast. ForecastSales specialty is the
inventory forecast transactions registration. The table differs from other project forecast transaction tables as it is
part of master planning module. It means that project module uses some of the master planning functionality in
order to register the project specific item forecast.
The table contains two types of lines, ones for setup purposes and others for reporting and analyses purposes.
Project related transactions from this register are synchronized also to ProjTransPosting table (central project
transaction register)

Field name Data type Field description

ItemId CHAR(20) Inventory item number attached to the transaction.

StartDate DATE Date from which the budget amount will be in effect.

EndDate DATE Last date of the posting period for this periodic transaction. Used
in setup lines.

FreqCode Units are measured in Days, Months, or Years to define


how frequently current budget transaction is generated

SQL AX value
value

0 Day

1 Month

2 Year

Active INTEGER Marked if the amount should be included in the current budget. By
default, the field is marked as active when a budget line is created.

SQL AX value Description


value

0 No Inactive

1 Yes Active

InventQty REAL Transaction quantity expressed in the item's inventory unit.

SalesPrice REAL Item sale sprice

DiscPercent REAL Item discount expressed in percentage.

Comment CHAR(60) Text entered into the Transaction text field to describe the
forecast line

Dimension CHAR(10) Analytical Dimension no. 1 value

Dimension2_ CHAR(10) Analytical Dimension no. 2 value

Dimension3_ CHAR(10) Analytical Dimension no. 3 value


Page 148
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

CustGroupId CHAR(10) Customer group id from accounts payable module.

ItemGroupId CHAR(10) Inventory group id from inventory module.

CustAccountId CHAR(20) Customer code from accounts payable module.

KeyId CHAR(10) Allocation key, if any, according to which transaction is


allocated (used in setup type rows)

CurrencyId CHAR(3) Currency for invoicing of a transaction (sales currency).

ExpandId INTEGER Reference to the setyp type transaction based on what


current transactions are created (exploded). Value is 0 if
there is no explosion.

Report INTEGER Field is defining if the record is setup type budget line or
reporting type budget line.

SQL AX value Description


value

0 No Transaction is setup type


budgeting line

1 Yes Transaction is reporting type


budgeting line

SalesQty REAL Transaction quantity that is in the given sales unit.

SalesUnitId CHAR(10) Unit that the item is sold in.


Lines estimated quantity-independent sales-amount miscellaneous
SalesMarkup REAL charges.

DiscAmount REAL Line discount amount in forecast currency.

PriceUnit CHAR(10) Enter the number of units for which the Price applies.

CostPrice REAL Inventory estimated cost price

Cov INTEGER If checked, the forecast transaction is allocated to Ledger. The


field cannot be edited for reporting transactions

ItemAllocateId CHAR(10) Item allocation key that is used in inventory forecast allocation.

Freq How many units of code is the jump per transaction (related
with FreqCode field?

Amount REAL Amount (gross amount less any discounts) that the forecast
transaction contributes to the forecast.

ModelId CHAR(10) The budget model for the record.

AllocateMethod CHAR(10) Methods for allocating the forecast transaction:

SQL AX value Description


value

0 None No allocation takes place. Budget line is


reporting type budget transaction.

1 Period Quantity with the number of units defined

Page 149
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

in the field FreqCode. This method is


used if forecast with the same quantity
per period.

2 Key The forecast is allocated according to the


period allocation key specified in the field
Key. This method is used if seasonal
variation should be taken into account.

ProjId CHAR(10) Project to which the transaction is attached. Reference to


the ProjTable

ProjCathegoryId CHAR(10) Project category that is attached to the transaction.

ProjLinePropertyId CHAR(10) Line property that is attached to the transaction.

ProjTransId CHAR(20) Transaction identifier in project module

ProjForecastSalesPaymDate DATE Expected payment date of the revenue

ProjForecastInvoiceDate DATE The forecasted invoice date. The invoice date calculated for
forecast transactions depends on the invoice frequency
defined on the invoice project.

ProjForecastEliminationDate DATE The elimination date. When the forecast is created, the
elimination date is set to the end date of the project. If the
project has no end date, the project date will be applied.
Applies to fixed-price projects and investment projects.

3.12.1.8 InventTable
For the table description please see p. 3.8.1.4

3.12.1.9 ProjCategory
For the table description please see p. 3.10.1.9

3.12.1.10 ProjCategoryGroup
For the table description please see p. 3.10.1.9

3.12.1.11 LedgerTable
For the table description please see p. 3.1.1

3.12.1.12 EmplTable
For the table description please see p. 3.11.1.12

Page 150
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

3.12.1.13 Dimensions
For the table description please see p. 3.1.2

3.12.1.14 ForecastModel
For the table description please see p. 3.4.5

Page 151
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3
Prepared for Microsoft Corporation

4 REFERENCES

Page 152
Documentation, Dynamics AX 4.0 data model overview, Version .1 Draft
Prepared by Fred Viidul
"AX40datamodel.doc" last modified on 24 Sep. 08, Rev 3