Topic overview
This article describes procedures for using the Import data application in relation to inventory postings. These procedures contain general instructions, e.g. which special features need to be taken into account.
The description of the Import data application, which also includes field and button descriptions, can be found in the Import data article.
Definitions of terms
Voucherless demand
The pseudo-voucher voucherless demand is available in order to be able to reserve a demand without having to create a voucher beforehand. A voucherless demand has an identification number and counts towards the demand origins (element).
General information
The import of inventory postings is to be understood as an option for submitting inventory postings via the import interface, which can be used primarily for transferring legacy data from inventories and for electronic confirmation of inventory postings.
Importing inventory postings results in the inventory records, availability records and/or the inventory valuation being updated in the imported inventory postings, depending on the posting key used. If a special process is specified, the import can also lead to the updating of a voucher status or the updating of a voucherless demand.
To be able to send inventory postings via the import interface, you must define at least one filter for importing inventory postings.
When submitting inventory postings via the import interface, the same validations are performed as when submitting a inventory posting via the Inventory postings application. For example, you cannot import an inventory posting for a warehouse for which you do not have authorization. In this case, an error message is displayed and an entry is created in the data exchange log.
Procedure
- Open the Import data application
- Display a filter for the business object
com.cisag.app.inventory.obj.InventoryTransaction
- The filter for importing inventory postings is displayed.
(If required, you can also create a new filter for this business object part).
- The selected attributes of the filter are already highlighted. If necessary, you can still adjust the attributes.
- Select the [Import data] button in the standard toolbar
- The Import data dialog window opens
- You can make settings for the import file in this dialog box. A detailed description of the fields can be found in the Import data article in the corresponding section.
- You can carry out the import by selecting the [In background] or [Immediately] button
Detailed information and examples
Please read the following information on the following topics:
In this section you will also find examples of import files:
Submitting an inventory posting via the import interface
The attributes that need to be imported in order to obtain a correct inventory posting depend on the item, loading unit, posting key and warehouse used. A list of the supported attributes can be found under Overview: Supported attributes during import.
An XML file that is used to post a receipt of an item that is managed in several item units and a packaging unit to a simple warehouse has the following content, for example:
<?xml version="1.0" encoding="UTF-8"?>
<semiramis xmlns="com.cisag.app.inventory.obj.InventoryTransaction" xsi:schemaLocation="com.cisag.app.inventory.obj.InventoryTransaction InventoryTransaction.xsd" locale="en-US-XMLSchemaCompliant" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InventoryTransaction xmlns="com.cisag.app.inventory.obj.InventoryTransaction">
<Type>02</Type>
<date>2015-04-07T23:00:00.000Z</date>
<Item>10010</Item>
<Identifier></Identifier>
<ReferenceItem></ReferenceItem>
<ReferenceIdentifier></ReferenceIdentifier>
<Storage>
<warehouse>HAN1</warehouse>
<zone></zone>
<location></location>
</Storage>
<ReferenceStorage>
<warehouse></warehouse>
<zone></zone>
<location></location>
</ReferenceStorage>
<StorageUnit></StorageUnit>
<storageUnitCount></storageUnitCount>
<UnitLoad></UnitLoad>
<referenceText>Importierte Materialbuchung</referenceText>
<Partner></Partner>
<quantity index="0">
<amount>100</amount>
<Uom>Stk</Uom>
</quantity>
<quantity index="1">
<amount>99</amount>
<Uom>kg</Uom>
</quantity>
<orderQuantity>
<amount>1</amount>
<Uom>Ktng</Uom>
</orderQuantity>
<value>
<amount1>10</amount1>
<amount2></amount2>
<amount3></amount3>
</value>
<valueDimension>PER_UNIT</valueDimension>
<info>
<CostCentre></CostCentre>
<CostObjective></CostObjective>
</info>
<TargetOwner>00000</TargetOwner>
<SourceOwner>00000</SourceOwner>
<extendedPostingOrder>
<type></type>
<orderType></orderType>
<orderNumber></orderNumber>
<detailNumber></detailNumber>
<subDetailNumber></subDetailNumber>
</extendedPostingOrder>
<extendedOriginalOrder>
<type></type>
<orderType></orderType>
<orderNumber></orderNumber>
<detailNumber></detailNumber>
<subDetailNumber></subDetailNumber>
</extendedOriginalOrder>
<OriginalDemand></OriginalDemand>
<OffsetAccount></OffsetAccount>
</InventoryTransaction>
</semiramis>
An XML file that is used to post a receipt of an item that is managed in only one item unit and one packaging unit to a simple warehouse has the following content, for example:
<?xml version="1.0" encoding="UTF-8"?> <semiramis xmlns="com.cisag.app.inventory.obj.InventoryTransaction" xsi:schemaLocation="com.cisag.app.inventory.obj.InventoryTransaction InventoryTransaction.xsd" locale="en-US-XMLSchemaCompliant" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InventoryTransaction xmlns="com.cisag.app.inventory.obj.InventoryTransaction"> <Type>02</Type> <date>2015-04-07T23:00:00.000Z</date> <Item>10020</Item> <Identifier></Identifier> <ReferenceItem></ReferenceItem> <ReferenceIdentifier></ReferenceIdentifier> <Storage> <warehouse>HAN2</warehouse> <zone>Z1</zone> <location>001-001</location> </Storage> <ReferenceStorage> <warehouse></warehouse> <zone></zone> <location></location> </ReferenceStorage> <StorageUnit>PAL</StorageUnit> <storageUnitCount>1</storageUnitCount> <UnitLoad></UnitLoad> <referenceText>Importierte Materialbuchung</referenceText> <Partner></Partner> <quantity index="0"> <amount>100</amount> <Uom>Stk</Uom> </quantity> <orderQuantity> <amount>1</amount> <Uom>Ktng</Uom> </orderQuantity> <value> <amount1>10</amount1> <amount2></amount2> <amount3></amount3> </value> <valueDimension>PER_UNIT</valueDimension> <info> <CostCentre></CostCentre> <CostObjective></CostObjective> </info> <TargetOwner>00000</TargetOwner> <SourceOwner>00000</SourceOwner> <extendedPostingOrder> <type></type> <orderType></orderType> <orderNumber></orderNumber> <detailNumber></detailNumber> <subDetailNumber></subDetailNumber> </extendedPostingOrder> <extendedOriginalOrder> <type></type> <orderType></orderType> <orderNumber></orderNumber> <detailNumber></detailNumber> <subDetailNumber></subDetailNumber> </extendedOriginalOrder> <OriginalDemand></OriginalDemand> <OffsetAccount></OffsetAccount> </InventoryTransaction> </semiramis>
Special features when importing inventory postings
Incorrect inventory postings
If an inventory posting cannot be imported successfully, an entry is created in the data exchange log that can be used for error analysis. The system then continues with the next inventory posting in the import file.
The import of inventory postings leads to a change in inventories if the posting key used provides for a quantity transaction. If the inventory management server responsible for the warehouse does not have the status In operation, inventory postings are generated, but the inventory quantities and inventory values are not updated. In this case, check the status of the inventory management server. Further information on this can be found in the Inventory management server article.
Availability
The import of inventory postings leads to a change in availability if the posting key used provides for a quantity transaction and the quantity transaction occurs at warehouse level. The following scenarios are possible in which the availability is changed by an imported inventory posting:
- If the imported inventory posting is not a special process, an availability is created on the basis of this inventory posting. This availability remains in place until the imported inventory posting has been processed by the inventory management server and the inventory has been updated.
- If the imported inventory posting represents a special process, such as Reserved issue without voucher, the availability of the voucherless demand is completed during import and recreated for the inventory posting at the same time. At no time is the article quantity available as available inventory; the Completed and Generated processes reflect more of a transfer.
As in the first case, the availability of the inventory posting remains until the inventory posting has been processed by the inventory management server and the inventory has been updated.
Reservation
The import of inventory postings leads to a change in the demand coverage or demand origin data if the posting key used provides for a quantity transaction and the quantity transaction takes place at warehouse level. Just as with availability, several scenarios are possible in which the demand coverage or demand origin data is changed when importing inventory postings:
- If the imported inventory posting does not represent a special process, demand coverage or demand origin data is generated on the basis of this inventory posting. This data remains until the imported inventory posting has been processed by the inventory management server and the inventory has been updated.
- If the imported inventory posting represents a special process, such as Reserved issue without voucher, the demand data of the voucherless demands are completed during import and recreated for the inventory posting at the same time. At no point is the article quantity available as available inventory; the Completed and Generated processes reflect more of a transfer.
As in the first case, the demand data of the inventory posting remains until the inventory posting has been processed by the inventory management server and the inventory has been updated.
Inventory valuation
The import of inventory postings leads to a change in the inventory value if the posting key used provides for inventory valuation. Here too, the responsible inventory management server must have the status In operation for an inventory valuation to be carried out.
- If the prices are given in all currencies, these will be adopted.
- If only one currency is specified, the other currencies or those with the value zero are calculated automatically. The exchange rate that was valid at the time of the specified posting date is used.
- If no currency is specified (not even with the value zero), the price is determined using the posting key if a price is required.
Status update for referenced orders
An imported inventory posting can be linked to an inventory posting voucher and an original voucher. The inventory posting voucher is the voucher that generated the inventory posting. The source voucher is the voucher at the beginning of the voucher chain. When you import an inventory posting, the status of the source voucher linked to the inventory posting is only updated if you mark the inventory posting to be imported as a special process. The following special processes require a voucher to be specified as the source voucher:
- Supplier returns
The specification of a purchase order line item is required
- Production receipt
The specification of a production order is required
- Production issue
The specification of an inventory item is required
- Co-product receipt
The specification of a co-product item is required
- Material provided to vendor
The specification of an item of inventory to be provided is required
In all other cases, the original voucher status is not updated by the inventory posting. The statuses of all other specified vouchers are never updated.
Import of historical inventory postings
The import of historical inventory postings refers to the transfer of all inventory postings from a source system to a target system. In contrast to importing the current inventory, the moving average price can also be transferred. The following minimum requirements must be met:
- The imported inventory postings can be processed in the target system by an inventory management server
- The inventory postings are processed in the target system in the same order as in the source system
- There are no inventory postings for the possible valuation levels (item and item/warehouse) in the target system before the import.
The order in which inventory postings are processed by an inventory management server is of great importance for the result of the moving average price. For this reason, when importing historical inventory postings, strict care must be taken to ensure that the imported inventory postings are processed in the same order as in the source system. To achieve this, the inventory postings in the import file must be sorted in ascending order according to the internal processing number in the source system.
When importing historical inventory postings, it is also important to ensure that all inventory postings are only processed by a single inventory management server in the target system. This means that all warehouses in the import file must be assigned to the same inventory management server. If processing is carried out by several inventory management servers, compliance with the correct sequence cannot be guaranteed, resulting in an incorrect moving average price at item level.
Restrictions
When importing inventory postings for items that are stored in subdivided warehouses, please note that if the import file contains an inventory posting with storage unit, the same import file must not contain any other inventory postings for this storage location or slot. If, for example, inventories with different identifiers are to be imported, the inventory postings must be split across several import files:
Storage location 001:
Batch C01 150 pcs.
batch C02 450 pcs.
Storage location 002:
Batch C03 50 pcs.
Batch C05 300 .pcs.
Batch C06 250 pcs.
The inventory postings are split into two import files. Assuming the storage locations and the item allow the PAL storage unit, the first import file contains the following inventory postings:
Storage location 001: Receipt of 150 units of batch C01 to 1 PAL
Storage location 002: Receipt of 50 units of batch C03 to 1 PAL
The second import file contains the following inventory postings:
Storage location 001: Receipt of 450 units of batch C02 to 0 PAL
Storage location 002: Receipt of 300 units of batch C05 to 0 PAL
Storage location 002: Receipt of 250 units of batch C06 to 0 PAL
Overview: Supported attributes during import
The attributes that must be imported in order to obtain a correct inventory posting (mandatory attributes) depend on the item used, the loading unit, the posting key and the warehouse.
Mandatory attributes
The following table describes the attributes that must be specified in comlocationation:
Attribute | Description | Condition/Explanation |
item |
Item | Only mandatory attribute if no loading unit is specified or if the special process Loading unit correction is used. You can also specify this attribute via the Item relationship. |
identifier |
Identifier | Only mandatory attribute if the item is managed in identifiers and has the value Manual as the opening method in the default values for identifiers. If the opening method is set to Automatic and no identifier is entered during import, a new identifier is created and stored in the inventory posting. You can also specify this attribute using the Identifier relationship. |
referenceItem |
Source item | Only mandatory attribute if a posting key from the Revaluation process is used. You can also specify this attribute via the ReferenceItem relationship. |
referenceIdentifier |
Source identifier | Only mandatory attribute if the source item is managed in identifiers and the item has the value Manual as the opening method in the default values for identifiers. If the opening method is set to Automatic and no identifier is entered during import, a new identifier is created and stored in the inventory posting. You can also specify this attribute via the ReferenceIdentifier relationship. |
date |
Date | You can use this attribute to specify the posting date. The date is specified using a timestamp with the corresponding time zone. If you do not enter a date, the current date will be used as the posting date. |
type |
Posting key | The posting key must always be specified. You can also specify this attribute via the Type relationship. |
warehouse |
Warehouse | The warehouse must always be specified. You can also specify the warehouse via the Storage relationship. |
zone |
Warehouse zone | Only mandatory attribute if the warehouse used is subdivided, the quantity transaction is activated for the posting key used and it is not the receipt of goods or issue of goods zone to which the posting is to be made. You can also specify the warehouse zone via the Storage relationship. |
storageLocation |
Storage location | Only mandatory attribute if a subdivided warehouse zone is used and the quantity transaction is activated for the posting key used. You can also specify the warehouse via the Storage relationship. |
slot |
Slot | Only mandatory attribute if the specified storage location has slots. You can also specify the slot via the Storage relationship. |
Storage |
You can use this relationship to specify the warehouse, the warehouse zone, the storage location and the slot. The three attributes contained in this relationship are described below. | |
Storage.warehouse |
See attribute warehouse. | |
Storage.zone |
See attribute zone. | |
Storage.location |
Only mandatory attribute if a subdivided warehouse zone is used and the quantity transaction is activated for the posting key used. The storage location is addressed by specifying the levels of the storage location. Which levels must be specified depends on the organization of the warehouse zone. The following levels must be specified for the different organizations of the zone.
If the storage location has slots, the slot details must be separated by a slash. Example for addressing the third slot of a block storage: 001-001/3. |
|
referenceWarehouse |
Source warehouse | Only mandatory attribute if a posting key from the transfer posting process is used. You can also specify the source warehouse via the ReferenceStorage relationship. |
referenceZone |
Source warehouse zone | Only mandatory attribute if the source warehouse is divided into warehouse zones and it is not the receipt of goods or issue of goods zone to which the posting is to be made. You can also specify the source warehouse zone via the ReferenceStorage relationship. |
referenceStorageLocation |
Source storage location | Only mandatory attribute if a subdivided source warehouse zone is used. You can also specify the storage location using the ReferenceStorage relationship. |
referenceSlot |
Source slot | Only mandatory attribute if the specified source storage location has slotss. You can also specify the source slot via the Storage relationship. |
ReferenceStorage |
You can use this relationship to specify the source warehouse, the source warehouse zone, the source storage location and the source slot. The description of the attributes that can be specified in this relationship is identical to the description of the attributes contained in the Storage relationship. | |
targetOwner |
Destination inventory owner | The destination inventory owner must always be specified. You can also specify the destination owner via the TargetOwner relationship. |
sourceOwner |
Source inventory owner | The source inventory owner must always be specified. You can also specify the source owner via the SourceOwner relationship. |
unitLoad |
Loading unit | Only mandatory attribute if no item is specified or if the special process Loading unit correction is used. You can also specify the loading unit using the UnitLoad relationship. |
quantity |
Quantity to be posted | The quantity can be specified via this attribute and the orderQuantity attribute.Note If you only specify the quantity attribute, the quantity in the inventory management unit is determined for the orderQuantity attribute.Quantities in inventory-managed packaging units can only be imported via the orderQuantity attribute.The quantity is specified using the two attributes quantity.amount and quantity.Uom (see the following table rows).The quantity attribute is an array attribute. A quantity value can be specified in one of the item units for each index item. |
quantity.amount |
Quantity value | Use this attribute to specify the quantity value. |
quantity.Uom |
Unit | Unit of measure of the item used, i.e. one of the item units. When posting a loading unit, the unit of the loading unit’s storage unit must be specified. |
orderQuantity |
Quantity | This attribute can be used to import quantities in inventory-managed packaging units. In principle, the quantity can be specified via this attribute and the quantity attribute.Note If you only specify the orderQuantity attribute, the quantity for the quantity attribute is determined using the conversion factors from the item master data. For items that are managed in several item units, this can lead to inaccurate quantities due to the conversion factors. For these items, it is therefore recommended to import the quantities in the various item units using the quantity attribute. |
orderQuantity.amount |
Quantity value | Use this attribute to specify the quantity value. |
orderQuantity.Uom |
Unit | Inventory management unit of the item or a packaging unit according to item master data |
storageUnit |
Storage unit | Only mandatory attribute if a storage location has been specified that supports storage units. You can also specify the storage unit via the StorageUnit relationship. |
storageUnitCount |
Storage unit count | Only mandatory attribute if a storage location has been specified that supports storage units. |
value |
Price | The price is only mandatory for revaluations and pure value correction postings. This means that a price with a value not equal to zero must be specified. A price should be specified for all receipts at warehouse level, otherwise the receipt is valued at zero. If no price is specified (there is no entry in all currency details, not even zero), the price is determined according to the posting key used, provided that the valuation price selected in the posting key is specified in the item. If multiple currencies are used for the price, you have the option of either specifying all of them or just one, so that all others are automatically calculated at the exchange rate valid on the posting date. |
valueDimension |
Price dimension | Mandatory attribute for receipts and correction postings if an inventory valuation is to be carried out. |
info.costCentre |
Cost center | Mandatory attribute if the cost center must be specified as mandatory information according to the posting key. You can also specify the cost center via the info.CostCentre relationship, whereby the company is used to determine the exact cost center, either via the targetOwner attribute or, in the case of disposals, sourceOwner . If the inventory owner used is not a company, the company of the warehouse is used. |
Info.costObjective |
Cost unit | Mandatory attribute if the cost unit must be specified as mandatory information according to the posting key. You can also specify the cost unit via the info.CostObjective relationship, whereby a company is used to determine the exact cost unit, as with the cost center. |
process |
Special process | You can use this attribute to determine whether the imported inventory posting represents a special process that results in an update of linked vouchers or the update of a voucherless demand. The following values are possible for specifying the special process:
For manual and imported inventory postings, it is essential to know whether the inventory posting is a special process. If the value is not specified in the import file, the value None is set for this inventory posting. |
demandNumber |
Undocumented requirements | A voucherless demand must be entered if the special process Reserved issue without voucher has been specified. A voucherless demand can be entered in the Reservations application. The voucherless demand specified must match the inventory posting that is to be imported. The specification of a voucherless demand is irrelevant for all other special processes, so that the specified demand is not taken into account any further. The Voucherless demand can also be specified via the OriginalDemand relationship. |
Further attributes
The following attributes are supported by the import interface in addition to the mandatory attributes:
Attribute | Description | Explanation |
referenceText |
Posting reason | Specification of any text. |
partner |
Partner | Specification of any partner that exists in the system. If an inventory posting voucher is specified, the partner is typically the same as in the inventory posting voucher. However, no validation is carried out. You can also specify the partner via the Partner relationship. |
cogOffsetAccount |
Offset account | For activated general ledger entries, you have the option of specifying an offsett account. This allows you to specify a special billing account for the manual transfer of inventory, for example. If, however, no offsett account is specified, the offsett account is determined automatically on the basis of the entries in the account assignments, General ledger entries tab, or according to the entries in the Customizing application, General ledger entries function. If the general ledger entries functionality is deactivated, no offsett account may be specified. You can also specify the offsett account via the OffsetAccount relationship, whereby the company is used to determine the exact offsett account, either via the targetOwner attribute or sourceOwner in the case of disposals. If the inventory owner used is not a company, the company of the warehouse is used. |
Source voucher
The original voucher is typically the voucher at the beginning of the voucher chain. In the Inventory posting query application, the original voucheris called Order. In the original voucher, attributes must be specified down to item or sub-item level. An exception to this is the production order, where it is not always necessary to specify an item. The special processes Production issue, Co-product receipt and Material provided to vendor require the production order to be specified down to item or sub-item level.
The required attributes are described in the following table:
Attribute | Description | Explanation |
extendedOriginalOrder.type |
Order category | Mandatory when specifying a voucher. The following voucher categories are supported:
|
extendedOriginalOrder.orderType |
Order type | Identification of the order type |
extendedOriginalOrder.orderNumber |
Voucher number | The document can also be specified via the technical attribute extendedOriginalOrder.header . |
extendedOriginalOrder.detailNumber |
Line item number | The position can also be specified via the technical attribute extendedOriginalOrder.detail . |
extendedOriginalOrder.subDetailNumber |
Sub-line item number | Only required when specifying vouchers that support sub-line items. |
Inventory posting voucher
The inventory posting voucher is the voucher that generated the inventory posting. In the Inventory posting query application, the inventory posting voucher has the desciption Voucher. Attributes must be specified for the inventory posting voucher down to item or sub-item level. An exception to this is the production order, where it is not necessary to specify an item.
The required attributes are described in the following table:
Attribute | Description | Explanation |
extendedPostingOrder.type |
Order category | The following voucher categories are supported:
|
extendedPostingOrder.orderType |
Order type | Identification of the order type |
extendedPostingOrder.order Number |
Order number | The voucher can also be specified via the technical attribute extendedPostingOrder.header |
extendedPostingOrder.detailNumber |
Line item number | The line item can also be specified via the technical attribute extendedPostingOrder.detail |
extendedPostingOrder.subDetailNumber |
Sub-line item number | Only required when specifying vouchers that support sub-line items |