Status

  Approved

OwnerSHARMA-ext, Meenakshi 
StakeholdersLaurence DANNET, Paulo Golinelli
Jira Request ID

ERP-134 - Getting issue details... STATUS ERP-774 - Getting issue details... STATUS

Jira Development ID

ERP-726 - Getting issue details... STATUS

High- Level Specification

ParameterValue
Application SystemS/4Hana ROW, S/4Hana China, S/4Hana CUI
Business Process Reference

03.04.06.01. Manage Invoice Receipt

03.04.06.03. Post Invoice

Functional Overview

A custom function module will be developed to validate incoming vendor invoices that are not associated with a Purchase Order (Non-PO invoices). The module will enforce the company’s “No PO, No Pay” policy by verifying whether the vendor is authorized to submit Non-PO invoices, allowing only limited exceptions. Non-PO invoices flagged as Vendor Not Allowed For Non-PO will be automatically rejected, except for credit memos or invoices originating from the OCR/E-Invoice channel.

Scope and Objectives

The objective of this enhancement is to implement a functional control mechanism that automatically identifies and rejects Non-PO invoices submitted by vendors who are not authorized for Non-PO invoice processing as per the Vendor Master Data settings. This will ensure adherence to company policy, improve invoice validation accuracy, and reduce manual intervention.

This functional module will have:

  1. Validation Logic

    • Check all incoming invoices to determine whether they are Non-PO invoices.

    • Cross-reference each Non-PO invoice with the Vendor Master Data to verify if the vendor is flagged as allowed for Non-PO invoices.

  2. Exception Handling

    • If the vendor is not allowed for Non-PO invoices:

      • The system will auto-reject the invoice.

      • The rejection will apply only if:

        • The source input channel is not OCR (Optical Character Recognition), and EDICOM

        • The invoice is not a credit memo.

  3. System Behavior

    • For invoices meeting the exception criteria (vendor not allowed, not from OCR, and not a credit memo), the system will automatically:

      • Flag the invoice as “Rejected – Non-PO not allowed for vendor”.

      • Send rejection status to source Portal

      • Terminate the workflow
  4. Audit and Reporting

    • Maintain a log or report of all invoices auto-rejected under this rule, rejection reason, and timestamp, for audit and compliance purposes.

Process Flow Diagram


Step

Description

Comment

1Receive Invoice Without PO ReferenceInvoices without PO can be received through various input channels, including Email, Supplier Portal, SAP Business Network, IDoc, and EDICOM.
2Check If Invoice Vendor Is Allowed For Non-POValidate whether the invoice vendor is authorized for Non-PO processing based on the Vendor Master Data and flag as 'Not Allowed For Non-PO' if vendor is not authorized for Non-PO.
3Check Transaction Type and Source ChannelValidate that the flagged invoice’s source channel is neither OCR nor EDICOM, and that the transaction type is not a credit memo.
4Trigger Auto RejectionTrigger Auto Rejection using RTV if invoice’s source channel is neither OCR nor EDICOM, and that the transaction type is not a credit memo.
5Manual Exception HandlingInvoice flagged as 'Not Allowed For Non-PO' will undergo manual review by Account Payable accountants if invoice’s source channel is either OCR or EDICOM, and that the transaction type is a credit memo.


Assumptions

The reference field indicating whether an invoice is allowed for Non-PO processing will be maintained in the Vendor Master Data.

Dependencies

Return to Vendor logic enhancement which will trigger the email to vendor or status update based on the source of input channel as per following development card:

ERP-950 - Authenticate to see issue details

Security, Integrity and Controls

There is no specific security required for this enhancement.

Configuration Requirements

Configure custom business rule 'Vendor Not Allowed For Non-PO'.

Custom FM  to be configured for this VIM exception.

Language Requirements

RTV email templates will be created in multiple languages in SO10 as part of the configuration. Rejection reasons will also be maintained in all required languages. During automatic rejection, the system should select the appropriate email template based on the supplier’s country to trigger the auto-rejection email. For the portal status, the logic should automatically derive  the rejection reason from the table based on the supplier’s country.

Special Requirements

N/A

Design Rationale

Functional Requirements

Non-PO Invoice Validation Logic-A custom function module will be developed to validate all incoming vendor invoices that are not associated with a Purchase Order (Non-PO invoices). The purpose of this module is to enforce the company’s “No PO, No Pay” policy by ensuring that only vendors authorized for Non-PO invoicing can submit such invoices. Invoices submitted by vendors who are not permitted for Non-PO processing will be automatically rejected, with limited exceptions.

Data Validation Logic:

  • Identify all incoming invoices that qualify as Non-PO invoices.

  • Validate each Non-PO invoice against Vendor Master Data to confirm whether the vendor is authorized for Non-PO invoicing.

Exception Handling

If a vendor is not allowed for Non-PO invoices, the system shall automatically reject the invoice, except in the following cases which will be routed for manual review:

  • The invoice originates from the OCR or EDICOM channel

  • The document is a credit memo

Auto Rejections

For Non-PO invoices not meeting the exception criteria, the system shall:

  • Flag the invoice as Rejected – Vendor Not Allowed For Non-PO

  • Send the rejection notification/status back to the source channel

  • Terminate the workflow for the rejected document

Audit and Reporting

The system shall maintain a log of all automatically rejected Non-PO invoices, including:

  • Rejection reason

  • Timestamp

Proposed Technology to Use

A custom Function Module will be developed to implement the required validation logic. This Function Module will be integrated into the system through a custom business rule named "Vendor Not Allowed for Non-PO" to ensure consistent and automated enforcement of the defined controls.

Data Source Considerations

Vendor Master Record will be referred to validate vendors allowed for Non-PO or not.

TableField NameComments/Calculation/Field Manipulation











Data Validation Considerations

Vendor Master Record will be referred to validate vendors allowed for Non-PO or not.

TableField NameComments/Calculation/Field Manipulation













Custom Tables

N/A

Master Data

N/A

FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

N/A

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

N/A

Field NameDescription

Select:

Data Type/LengthDefault Value/ Validation rule/ Value HelpSelection Logic













Processing Logic

A custom Function Module will be developed to validate all incoming vendor invoices that are not linked to a Purchase Order (Non-PO invoices). This functionality ensures compliance with the company’s “No PO, No Pay” policy by confirming that only vendors authorized for Non-PO processing can submit such invoices. When an invoice is identified as a Non-PO document, it will be checked against the Vendor Master Data to determine whether the vendor is permitted to submit Non-PO invoices. If the vendor is not authorized, the system will automatically reject the invoice unless it meets specific exception criteria. Exceptions include invoices originating from the OCR or EDICOM channels or cases where the document is a credit memo; these invoices will instead be routed for manual review. For all other unauthorized Non-PO invoices, the system will automatically reject with comments “Rejected – Vendor Not Allowed for Non-PO,” and send the rejection status to the source channel using RTV logic, and terminate the workflow.


Volumetrics

The logic is designed to execute on a per-invoice basis and is not expected to affect system performance

Performance Considerations

Failed workflow tasks, email retries, or RTV failures can increase system load if many retries occur simultaneously.


Error Handling

Ensure the Email notification fails and Supplier Portal/SAP Business Network update fails are handled. System should retry 3 times and update the status as Communication Pending and notify the actor to take actions. Application logs should help to update document history with relevant details.

Testing

How to Test

To test, send a few invoices without a purchase order via any VIM channel (Email, IDoc, Supplier Portal, SAP Business Network, via EDIWIN). The custom function should:

  • Mark invoice as “Vendor not allowed for Non-PO” if they are unauthorized.

  • Allow processing for authorized Non-PO vendors.

  • Auto-trigger RTV and show the correct rejection message for auto-reject cases.

  • Send other flagged invoices for manual review without auto-rejecting them.

Test Conditions and Expected Results

IDConditionExpected Result
1Receive a Non-PO invoice through the email channel in PDF format from a vendor who is not authorized for Non-PO processing.The invoice should be flagged under the VIM business rule ‘Vendor Not Allowed for Non-PO’ and routed to account payable accountant for manual review to resolve the exception.
2Receive a Non-PO invoice through IDOC channel from a vendor who is not authorized for Non-PO processing.The invoice should be automatically rejected with the reason ‘Vendor Not Allowed for Non-PO’ using the RTV logic, and the rejection status should be sent automatically to the respective source without any human intervention.
3Receive a Non-PO invoice through the Supplier Portal in PDF format from a vendor who is not authorized for Non-PO processing.The invoice should be flagged under the VIM business rule ‘Vendor Not Allowed for Non-PO’ and routed to account payable accountant for manual review to resolve the exception.
4Receive a Non-PO invoice through the SAP Business Network channel from a vendor who is not authorized for Non-PO processing.The invoice should be automatically rejected with the reason ‘Vendor Not Allowed for Non-PO’ using the RTV logic, and the rejection status should be sent automatically to the respective source without any human intervention.
5Receive a Non-PO invoice through the EDICOM channel from a vendor who is not authorized for Non-PO processing.The invoice should be flagged by the VIM business rule ‘Vendor Not Allowed for Non-PO’ and routed to account payable accountant for manual review to resolve the exception.
6Receive a Non-PO credit memo through any VIM channel from a vendor who is not authorized for Non-PO processing.The document should be flagged under the VIM business rule ‘Vendor Not Allowed for Non-PO’ and routed to account payable accountant for manual review to resolve the exception.
7Receive a Non-PO credit memo through any VIM channel from a vendor who is authorized for Non-PO processing.In the simulation rules, the VIM business rule ‘Vendor Not Allowed for Non-PO’ should remain indicating green traffic signal, indicating that the check has passed successfully.
8Receive a Non-PO invoice through any VIM channel from a vendor who is authorized for Non-PO processing.In the simulation rules, the VIM business rule ‘Vendor Not Allowed for Non-PO’ should remain indicating green traffic signal, indicating that the check has passed successfully.
9Receive a PO invoice through any VIM channel from a vendor who is authorized for Non-PO processing.There should be no impact on the PO invoice flow, as the validation rule will not be applied to PO invoices.


Test Considerations/Dependencies

N/A


Other Information


Development Details

Package

Package NameParent Package




Enhancement Implementation

Enhancement TypeStandard Definition NameCustom Implementation NameDesign Rationale Reference









Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign Rationale Reference








Appendix

Custom Authorization Group Naming Convention

This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.

ABAP

ZFIZMMZPSZCOZSDZBCZFIZCA
TABLESZFITZMMTZPSTZCOTZSDTZBCTZFITZCAT

See also


  File Modified
File Not Allowed Non-PO Business Rule draw.io diagram Nov 20, 2025 by SHARMA-ext, Meenakshi
File ~Not Allowed Non-PO Business Rule.tmp draw.io Draft Nov 20, 2025 by SHARMA-ext, Meenakshi
File drawio-backup-Not Allowed Non-PO Business Rule-rev-1 draw.io diagram backup Nov 19, 2025 by SHARMA-ext, Meenakshi

Change log

Version Published Changed By Comment
CURRENT (v. 15) Dec 02, 2025 15:43 SHARMA-ext, Meenakshi
v. 14 Dec 01, 2025 15:30 SHARMA-ext, Meenakshi
v. 13 Dec 01, 2025 15:04 JOUHAUD-ext, Yoann
v. 12 Nov 27, 2025 17:00 JOUHAUD-ext, Yoann
v. 11 Nov 26, 2025 09:53 SHARMA-ext, Meenakshi
v. 10 Nov 21, 2025 09:17 SHARMA-ext, Meenakshi
v. 9 Nov 20, 2025 14:20 SHARMA-ext, Meenakshi
v. 8 Nov 19, 2025 17:14 SHARMA-ext, Meenakshi
v. 7 Nov 19, 2025 17:11 SHARMA-ext, Meenakshi
v. 6 Nov 19, 2025 17:01 SHARMA-ext, Meenakshi

Go to Page History

3 Comments

  1. SHARMA-ext, Meenakshi The FDS is validated/OK.

    There is one point that maybe can be asked by the AP team during the tests is to how to identify those invoices that where auto-rejected, because in the analytics report the status will be "obsolete" for all conditions, RTV manually and Automatic. It could be possible to use the Life cycle report, because there is button where the user can click to display the comments, that maybe can be used for that. Above all, this is only if they would like to see these situations in a report.

  2. SILVA-ext, Diego This will be reflected in the document history, indicating that the record was deleted by the system user, allowing AP to clearly identify which entries were automatically rejected.

  3. SHARMA-ext, Meenakshi yes, this is clear, It is perfect thumbs up to check individually for each DP, I was just mentioning if they would like to see this massively in a report.