If you use staging journals, you can set up the applicable journal validations. For each staging journal-related table, you can define the applicable validation rules.
Table | Validation class | Description |
---|---|---|
BisEdiPurchaseTrans | BisCheckBisEdiPurchaseTrans | Base validation class. Do not use as validation rule. |
BisEdiCheckPurchaseLineDiscPercent | Checks if the discount percentage is equal to the discount percentage of the related PurchLine. On the journal validation setup, you can use a parameter to allow a small difference. | |
BisEdiCheckPurchaseLineDiscAmount | Checks if the discount amount is equal to the discount amount of the related PurchLine. On the journal validation setup, you can use the validation parameter to allow a small difference. | |
BisEdiCheckPurchItemEanCode | Checks if the BarCode exists in the InventItemBarcode table. | |
BisEdiCheckPurchPrice | Checks if the PurchPrice is equal to the PurchPrice of the related PurchLine. The related PurchLine is found using the PurchId and the LineNumber. | |
BisEdiCheckPurchLineAmount | Checks if the LineAmount is equal to the LineAmount of the related PurchLine. The related PurchLine is found using the PurchId and the LineNumber. | |
BisEdiCheckPurchDeliveryDate | Checks if the DeliveryDate of the PurchLine is equal to the ConfirmedDlv of the journal line. | |
BisEdiCheckPurchQty | Checks if the PurchQty is equal to the PurchQty of the related PurchLine. The related PurchLine is found using the PurchId and the LineNumber. | |
BisEDICheckPurchaseLineNumberUsage | Checks if the same purchase line number is used more than once. | |
BisEdiCheckPurchItemId | Checks if the ItemId exists in the InventTable. | |
BisEdiPurchaseJour | BisCheckBisEdiPurchaseJour | Base validation class. Do not use as validation rule. |
BisEdiCheckOriginIdPurchase | Checks if a party setup exists for this VendAccount and OriginId. | |
BisEdiCheckPurchJourDeliveryDate | Checks if the DeliveryDate of the PurchTable is equal to the ConfirmedDlv of the journal header. | |
BisEdiCheckPurchaseDiscPercent | Checks if the discount percentage is equal to the discount percentage of the related purchase order. On the journal validation setup, you can use the validation parameter to allow a small difference. | |
BisEdiCheckPurchPurchId | Checks if the PurchId exists in the PurchTable. | |
BisEdiSalesTrans | BisCheckBisEdiSalesTrans | Base validation class. Do not use as validation rule. |
BisEdiCheckATPItemAvailableQty | Checks the ATP for each EDI sales order line:
|
|
BisEdiCheckExternalItem | Checks in D365 FO if the external item ID exists for the item. | |
BisEdiCheckItemBarcode | Checks if the OriginalBarCode exists. The check uses the item setup from the party setup. | |
BisEdiCheckItemCanBeConverted | Checks if the UnitId field can be converted to the unit defined in the InventTableModule for sales. | |
BisEdiCheckItemEanCode | Checks if the BarCode exists in the InventItemBarcode table. | |
BisEdiCheckItemGTIN | Checks if the BarCode exists in the InventItemGTIN table. | |
BisEdiCheckItemHighestQty | Checks if the SalesQty field is less than the HighestQty defined in the InventTableModule for sales. | |
BisEdiCheckItemId | Checks if the ItemId exists in the InventTable. | |
BisEdiCheckItemInPricelist | Checks if the ItemId exists in the PriceDiscTable. | |
BisEdiCheckItemLowestQty | Checks if the OrderedQty is greater than the LowestQty defined in the InventTableModule for sales. | |
BisEdiCheckItemLowestsalesQty | Checks if the SalesQty is greater than the LowestQty defined in the InventTableModule for sales. | |
BisEdiCheckItemMultiplyQty | Checks if the SalesQty is less than the MultipleQty defined in the InventTableModule for sales. | |
BisEdiCheckItemRestrictedForCountry | Checks if the item is restricted for sale to the country of the delivery address. This validation rule uses the Restricted products setup as defined for the Released products. | |
BisEdiCheckItemStopped | Checks if the Stopped field is disabled in the InventTableModule for sales. | |
BisEdiCheckSalesInventOnHand | Checks if the inventory on-hand is enough for the sum of the RemainInventPhysical per ItemId in this journal. | |
BisEdiCheckSalesLinePrice |
Checks and calculates the expected sales line amount and compares it with the EDI sales line amount. It checks if the EDI sales line amount is different from the calculated amount. You can allow a difference between the calculated amount and the EDI sales line amount. To do so, on the Journal validation setup, in the Validation parameter field, define the desired percentage. This percentage indicates the maximum allowed difference between the EDI sales line amount and the calculated amount. |
|
BisEdiCheckSalesLinePriceUnitConversion | Checks and calculates the expected sales line amount and compares it with the EDI sales line amount. It checks if the EDI sales line amount is different from the calculated amount, taking into account unit conversions. You can allow a difference between the calculated amount and the EDI sales line amount. To do so, on the Journal validation setup, in the Validation parameter field, define the desired percentage. This percentage indicates the maximum allowed difference between the EDI sales line amount and the calculated amount. Note: The expected sales line amount is calculated based on the trade agreements or default sales price. |
|
BisEdiCheckSalesPriceLineAmount | Checks if the LineAmount is equal to the expected LineAmount, considering discounts. | |
BisEdiCheckSalesUnit | Checks if the sales unit exists. | |
BisEdiCheckSalesQuantity | Checks if the SalesQty is not 0. | |
BisEdiSalesJour | BisCheckBisEdiSalesJour | Base validation class. Do not use as validation rule. |
BisEdiCheckCustomerExist | Checks if the customer exists, using the CustAccount field. | |
BisEdiCheckCustomerIsBlocked | Checks if the field CustTable.Blocked is 'Yes'. The customer is found using the CustAccount field. | |
BisEdiCheckLinesExist | Checks if the journal has lines. | |
BisEdiCheckOrderAlreadyExist | Checks if CustomerRref or the PurchOrderFormNum exists in the SalesTable. | |
BisEdiCheckOrderAlreadyExistsForCustomer | Checks if the PurchOrderFormNum exists in the SalesTable for the customer. | |
BisEdiCheckOrderAlreadyExistsForCustomerAndReference | Checks if the CustomerRef exists in the SalesTable for the customer. | |
BisEdiCheckOrderDeliveryDate | Checks if the ReceiptDateRequested field is in the past. | |
BisEdiCheckOrderWeightLimit | Checks if the sum of the NetWeight (InventTable) for this journal does not exceed the maximum weight. The maximum weight is defined as a parameter in the validation line. | |
BisEdiCheckOriginIdSales | Checks if a party setup exists for this CustAccount and OriginId. | |
BisEdiCheckSalesPool | Checks if the SalesPoolId exists in the SalesPool table. | |
BisEdiCheckWarehouseExist | Checks if the InventLocationId exists in the InventLocation table. | |
BisEdiSalesAddresses | BisCheckBisEdiSalesAddresses | Base validation class. Do not use as validation rule. |
BisEdiCheckAddressEanCode | Checks if the addresses exist, using the field BisEanCodeId (GLN). | |
BisEdiInventoryOrderTrans | BisCheckBisEdiInventoryOrderTrans | Base validation class. Do not use as validation rule. |
BisEdiCheckInventoryInventtransIdAlreadyReceived | Checks if one purchase receipt was made on this inventory transaction Id. | |
BisEdiCheckInventoryInventTransIdExists | Checks if the current inventory transaction ID exists. | |
BisEdiCheckInventoryOrderItemEanCode | Checks if the BarCode exists in the InventItemBarCode table. The check is not applied if the ItemId field is filled. | |
BisEdiCheckInventoryOrderItemGTIN | Checks if the BarCode exists in the InventItemBarGTIN table. The check is not applied if the ItemId field is filled. | |
BisEdiCheckInventoryOrderTransBatch | Checks if the InventBatchId or EndJob field exists on the journal line. | |
BisEdiCheckInventoryOrderTransBatchExp | Checks if the ExpirationDate (including the PdsBestBefore from the InventTable) is equal to the ExpDate from the InventBatch table. | |
BisEdiCheckInventoryOrderTransId | Checks if the InventTransId exists for sales or purchase orders. | |
BisEdiCheckInventoryOrderTransInventOK | Checks if the TransInvent is OK:
|
|
BisEdiCheckInventoryOrderTransItemId | Checks if the ItemId exists in the InventTable. In case of production orders, the ProdTable is also used. | |
BisEdiCheckInventoryOrderTransLP | Checks if the LicensPlateId is according to the rules. | |
BisEdiCheckInventoryOrderTransLPShipped | Checks if the TransLPShipped is OK. | |
BisEdiCheckInventoryOrderTransNoSplitLP | Checks if enough inventory on-hand is available for a specific license plate to avoid splitting the sales or transfer order. | |
BisEdiCheckInventoryOrderTransPurchConfirmed | Checks if the purchase order is confirmed. | |
BisEdiCheckInventoryOrderTransQtyOnHand | Checks if enough inventory on-hand is available for this inventory order journal. | |
BisEdiCheckInventoryOrderTransQtyPositiv | Checks if the InventQty is positive. | |
BisEdiCheckInventoryOrderTransTotalQty | Checks if enough inventory on-hand is available for all the journals with MessageStatus 'To be processed'. | |
BisEdiCheckTransferHasShipped | Checks if the InventQty is less than the QtyRemainReceive on the InventoryOrderTrans. This check only applies to InventTransType 'Transfer order receive'. | |
BisEdiCheckWMSJournal | Checks if a WMSJournalTrans exists for this ItemId, LicensePlateId, InventBatchId, InventLocationId. | |
BisEdiInventoryOrderJour | BisCheckBisEdiInventoryOrderJour | Base validation class. Do not use as validation rule. |
BisEdiCheckPurchPackingSlip | Base validation class. Do not use as validation rule. | |
BisEdiCheckInventoryOrderJourCustHold | Checks if the CustTable.Blocked is 'All', 'Invoice', or 'Requisition' for the OrderType 'Sales order'. The check searches the related sales order using the InventTransRefId field on the header. | |
BisEdiCheckInventoryOrderJourHasOpenLine | Checks the status and the open lines for the different order types:
|
|
BisEdiCheckInventoryOrderJourHold | This check always returns false to avoid automatically processing the journal. | |
BisEdiCheckInventoryOrderJourPending | Checks if pending journals exist using the InventTransRefId, OrderType, and TransDateTime field. The journal is pending if the messageStatus is 'To be processed' or 'Error'. | |
BisEdiCheckInventoryOrderJourPeriodOpen | Checks if an open period exists in the LedgerFiscalCalendarPeriod, using the TransDateTime field from the journal header. | |
BisEdiCheckInventoryOrderJourQty | Checks if the sum of the InventQty is less than the Qty in the InventTrans table for the current InventTransId. This check is only applied if the ReferenceType is 'Sales order delivery', 'Sales order return', or 'Transfer order shipment'. | |
BisEdiCheckInventoryOrderJourReqRef | Checks the existence of purchase orders or sales orders:
|
|
BisEdiCheckInventoryOrderJourReserveOK | Checks if enough inventory on-hand is available to reserve. This check is only applied to OrderType 'Sales order' or 'Transfer order' | |
BisEdiCheckInventoryOrderJourTransDate | Checks if the TransDateTime is defined and is not in the future. | |
BisEdiCheckInventoryOrderJourTransRefId | Checks if the InventTransRefId exists. | |
BisEdiCheckProdStarted | Checks if the ProdStatus of the ProdTable is 'Started' or 'Finished'. | |
BisEdiCheckPurchaseConfirmed | Checks if the DocumentState of the PurchTable is 'Confirmed'. | |
BisEdiTransferOrderTrans | BisCheckBisEdiTransferOrderTrans | Base validation class. Do not use as validation rule. |
BisEdiCheckTransferLineItemId | Checks if the ItemId exists in the InventTable. | |
BisEdiCheckTransferLineQty | Checks if the InventQty is not 0. | |
BisEdiTransferOrderJour | BisCheckBisEdiTransferOrderJour | Base validation class. Do not use as validation rule. |
BisEdiCheckTransferOrderDeliveryDate | Checks if the InventTransferReceiveDate deviates from other journals with the same TransferId. | |
BisStagingJournal | BisCheckBisEdiPurchaseTransDelivery | Base validation class. Do not use as validation rule. |
BisEdiCheckPurchSplitDeliveryDate | Checks if the ConfirmedDlv differs from the related records in the BisEdiPurchaseTransDelivery. | |
BisEdiCheckPurchSplitDeliveryQty | Checks if the PurchQty differs from the related records in the BisEdiPurchaseTransDelivery. | |
BisEdiPurchaseMarkupTrans | BisCheckBisEdiPurchaseMarkupTrans | Base validation class. Do not use as validation rule. |
BisEdiCheckPuchaseMarkupCode | Checks if the charges code of the purchase confirmation line exists in the Charges codes (MarkupTable) table. | |
BisEdiCheckPuchaseMarkupTaxGroup | Checks if the sales tax group of the purchase confirmation line exists in the Sales tax groups (TaxGroup) table. | |
BisEdiCheckPuchaseMarkupTaxItemGroup | Checks if the tax item group of the purchase confirmation line exists in the Item sales tax groups (TaxItemGroup) table. | |
BisEdiSalesMarkupTrans | BisCheckBisEdiSalesMarkupTrans | Base validation class. Do not use as validation rule. |
BisEdiCheckSalesMarkupCode | Checks if the charges code of the sales order line exists in the Charges codes (MarkupTable) table. | |
BisEdiCheckSalesMarkupTaxGroup | Checks if the sales tax group of the sales order line exists in the Sales tax groups (TaxGroup) table. | |
BisEdiCheckSalesMarkupTaxItemGroup | Checks if the tax item group of the sales order line exists in the Item sales tax groups (TaxItemGroup) table. |
Related to | Notes |
---|---|
Set up validation rules |
  |