--- title: "Predefined validation rules (Delfor)" slug: "predefined-validation-rules-delfor" tags: ["Concept topic"] updated: 2026-04-15T10:46:23Z published: 2026-04-15T10:46:23Z canonical: "docs.staedean.com/predefined-validation-rules-delfor" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.staedean.com/llms.txt > Use this file to discover all available pages before exploring further. # Predefined validation rules (Delfor) If you use the EDI Delfor journal, you can set up the applicable journal validations. For each EDI Delfor journal-related table, you can define the applicable validation rules. For several EDI Delfor journal-related tables, predefined validation rules are standard available. | Table | Validation class | Description | | --- | --- | --- | | BisEdiDelforJour | BisCheckBisEdiDelforJour | Base validation class. Do not use as validation rule. | | BisEdiDeflorCheckCumalitiveQtyPerOrder | Checks if the **Cumulative quantity received** (**EDI Delfor journal header**) exceeds the **Cumulative quantity delivered** (**EDI Delfor sales information**). | | BisEdiDelforCheckCumulativeQtyReceived | Checks if **Cumulative quantity received** (**EDI Delfor journal header**) matches the **Cumulative quantity received** (**EDI Delfor sales information**) + the **Last packing slip quantity** (**EDI Delfor journal header**). | | BisEdiDeflorCheckNewerImport | Checks if an unprocessed EDI Delfor journal exists which is received before the current EDI Delfor journal. To do so, the **Document date** (**EDI Delfor journal header**) is compared with the **Last imported date** (**EDI Delfor sales information**). | | BisEdiDelforCheckImportDate | Checks if the Delfor sales order is processed in the correct sequence. If for the Delfor sales order already an EDI Delfor journal exists, the newly imported data is added to a new EDI Delfor journal which is set to Rejected. This is the case if the **Document date** (**EDI Delfor journal header**) of the existing EDI Delfor journal is after the **Document date** (**EDI Delfor journal header**) of the new EDI Delfor journal. To get the new EDI Delfor journal processed, you have several options: - Approve and process the existing EDI Delfor journal before you approve and process the new EDI Delfor journal. - Cancel the existing EDI Delfor journal and approve and process the new EDI Delfor journal. Usually, you do this when the existing EDI Delfor journal is already processed. | | BisCheckEdiDelforJourNoLines | Checks if the EDI Delfor journal has lines. Only EDI Delfor journals with lines can be processed. | | BisEdiDelforCheckPreviousJournalStatus | Checks if, for the sales order, an earlier EDI Delfor journal exists that is not yet processed. The check is done by comparing the creation date of the current EDI Delfor journal with the creation date of the not yet processed EDI Delfor journal. | | BisEdiDelforCheckCustomerExist | Checks if the customer exists, using the **CustAccount** field. Also checks if the customer is allowed to send delivery forecasts (does a relevant document flow exist?). | | BisEdiDelforCheckItemIdJour | Checks if the **ItemId** exists in the **InventTable**. The check is done on the **EDI Delfor journal header**. | | BisEdiDelforCheckCumulativeQtyCalcResetDate | Checks if the **Quantity calculation reset date** on the **EDI Delfor journal** matches the **Quantity calculation reset date** on the **EDI Delfor sales information**. The check is done, based on the customer and item, and the last sales order for this combination. | | BisEdiCheckCustomerExist | Checks if the customer exists for the sales order, using the **CustAccount** field. | | BisEdiDelforCheckDocumentFlowExist | Checks if a document flow configuration exists for the customer linked to the delivery forecast. This validation enables proper EDI party validation for delivery forecast messages. | | BisEdiDelforAddresses | BisCheckBisEdiDelforAddresses | Base validation class. Do not use as validation rule. | | BisEdiDelforCheckAddressEanCode | Checks if the addresses exist, using the field **BisEanCodeId (GLN)**. | | BisEdiDelforCheckDeliveryAddress | Checks, based on an EAN code, if an address can be found in D365 F&SCM with the **Plant** and **Unloading Point**. The **Plant** and **Unloading point** fields are EDI Delfor-specific fields on the logistic postal address table. | | BisEdiDelforCheckUnloadingPoint | Checks, based on an EAN code, if the Plant and Unloading point of the Delivery address on the EDI Delfor journal header differ from the Plant and Unloading point of the **Delivery address** on the sales order. | | BisEdiDelforTrans | BisCheckBisEdiDelforTrans | Base validation class. Do not use as validation rule. | | BisEdiDelforCheckQtyValidation | Checks if for an EDI Delfor journal the order line quantity can be updated. The check is done based on the ‘**Minimum no of days until delivery in which changes are allowed**’ **EDI Delfor parameter**. | | BisEdiDelforCheckItemLowestQty | Checks if the **OrderedQty** is greater than the **LowestQty** defined in the **InventTableModule** for sales. | | BisEdiDeflorCheckShipmentDate | Checks if the **ShippingDateRequested** is before today. | | BisEdiDelforCheckDeliveryDate | Checks if the **RequestedDeliveryDate** is in the past. | | BisEdiDelforCheckProductionOrder | Checks if a production order exists for which the picking process is started for the related sales order line. | | BisEdidelforCheckItemHighestQty | Checks if the **SalesQty** field is less than the **HighestQty** defined in the **InventTableModule** for sales. | | BisEdiDelforCheckItemLowestsalesQty | Checks if the **SalesQty** is greater than the **LowestQty** defined in the **InventTableModule** for sales. | | BisEdiDelforCheckItemMultiplyQty | Checks if the **SalesQty** is less than the **MultipleQty** defined in the **InventTableModule** for sales. | | BisEdiDelforCheckSalesOrderLineStatus | Checks if the related sales order line is not blocked. Checks if, on the sales order line, the **Stopped** field is set to **No**. | ## Related - [Set up validation rules - EDI Studio](/set-up-validation-rules.md)