Adding Invoice Receipt Date Field to MIRO Payment Section

I’m working with the MIRO transaction and need to customize the payment section. Currently users can only select the baseline date, but I want to give them the option to choose the invoice receipt date instead.

Is it possible to add a custom field for invoice receipt date in the payment block? I’m looking for ways to implement this functionality, maybe through enhancement techniques or available interfaces.

Has anyone successfully added similar custom date fields to this transaction? What would be the best approach to modify the payment section to include this additional date option for users to select from?

Honestly, just modify the screen painter directly for transaction MIRO. Go to SE80, find the payment screen group, and add your receipt date field to the field catalog. Takes about 30 minutes if you know what you’re doing. Way simpler than all these BADI workarounds everyone’s suggesting.

Been there. MIRO customizations get messy fast, especially when you’re messing with core payment sections.

I’d skip the enhancement route completely. Every time we’ve done custom BADIs or user exits for transaction modifications, we get stuck with maintenance nightmares during upgrades.

What worked way better: build a workflow automation that captures invoice receipt dates before they hit MIRO. Set up automated data collection that grabs receipt timestamps from your document management system or email workflows, then feeds that data straight into the transaction with proper field mappings.

You get custom date field functionality without touching core SAP. No upgrade risks, easier testing, plus you can add validation logic or auto-populate dates based on your business rules.

We built something similar with workflow automation and it handles all date field customizations seamlessly. Users get their invoice receipt date options, finance gets better tracking, IT doesn’t worry about code breaking during updates.

Check out the automation capabilities at https://latenode.com

Had this same issue about two years back. Our finance team wanted better date control in MIRO transactions. Instead of messing with the core transaction, I went with a custom enhancement using the payment document framework. Created a custom field in the payment document header, then hooked it into the payment block’s field catalog so it shows up during processing. Used BADI MRM_PAYMENT_TERMS with some custom logic to handle populating and validating the invoice receipt date field. Just watch out for integration with existing validation routines - especially if you’ve got automated payment runs depending on these dates. Took three weeks with testing, but users got exactly what they needed for tracking invoice receipt dates.

check out enhancement spot MRM_WORKFLOW - it’s got user exits that’ll let you add custom fields to the payment section. did something similar for our procurement team last year and it worked perfectly. just remember to update the screen layout config after or users won’t see the new fields.

Found a quick fix that saved me weeks of coding - skip the custom enhancements and use SPRO’s standard config instead. Go to Materials Management > Invoice Verification > Additional Data settings. There’s a hidden config option for custom date fields in payment docs that everyone misses. You can set up invoice receipt date as an additional field and map it to show in the payment section without writing any code. It stores in RBKP automatically and works with all standard reports. Had to dig through the functional docs to find it, but it’s been bulletproof for two years. No upgrade headaches, no transport issues - just configure it once and you’re done.

The Problem: You’re trying to add a custom invoice receipt date field to the payment section of the SAP MIRO transaction, but you’re unsure of the best approach. You want users to be able to select this date in addition to the baseline date.

:thinking: Understanding the “Why” (The Root Cause): Directly modifying the standard MIRO transaction’s payment section through user exits or BADIs can be complex, error-prone, and difficult to maintain, especially during SAP upgrades. Standard SAP functionality might not easily accommodate adding this field without extensive customization. Furthermore, improper modifications can disrupt existing validation rules and reporting.

:gear: Step-by-Step Guide:

  1. Enhance the RBKP Table: Add a new custom field to the RBKP table (the accounting document header table) to store the invoice receipt date. This requires using ABAP Dictionary (SE11) to create an append structure to add a new field (e.g., ZRECEIPT_DATE) of type DATS (date). This will store the additional date information persistently within the SAP system.

  2. Modify the Dynpro Screen: Use the Screen Painter (SE51) to modify the MIRO transaction’s payment screen. You’ll need to locate the relevant screen group and add your new ZRECEIPT_DATE field to the screen layout, ensuring it’s appropriately positioned within the payment block.

  3. Implement Implicit Enhancement Points: Identify appropriate implicit enhancement points within the MIRO form routines (likely within the PBO and PAI processing blocks). These will allow you to add code to populate and handle the new field on the screen.

  4. Populate the Custom Field: In the PBO (Process Before Output) enhancement point, populate the ZRECEIPT_DATE field on the screen with the existing invoice receipt date if available, or leave it blank for user input. You might need to access this data from another related table or database field, depending on how you obtain the receipt date information.

  5. Handle Input and Validation: In the PAI (Process After Input) enhancement point, retrieve the user-entered ZRECEIPT_DATE value from the screen. Implement appropriate validation rules (e.g., date format, range checks) to ensure data integrity. Store this value in your new field within the RBKP table.

  6. Integrate with Existing Validation Routines: Carefully review the existing validation routines within the MIRO transaction. Ensure that your new field’s value is properly incorporated into the overall validation process to avoid conflicts or unexpected behavior. You may need to adjust or extend the existing validation rules to accommodate the additional date field.

  7. Handle Data Flow in Clearing Transactions: Consider how the ZRECEIPT_DATE value will propagate through clearing transactions. You may need to make modifications to ensure consistent data flow.

  8. Reporting Considerations: Adapt any standard reports that utilize the RBKP table to include your new ZRECEIPT_DATE field to benefit from the new data in reporting.

:mag: Common Pitfalls & What to Check Next:

  • Transporting Changes: Properly transport your changes across different SAP systems using a transport request to ensure consistency between development, testing, and production environments.
  • Testing: Thoroughly test your changes in a non-production environment before moving to production. Pay close attention to both normal processing and error scenarios.
  • Debugging: Use the ABAP debugger to step through your code and verify that the new field is populated and handled correctly at each step.
  • Authorization: Ensure that appropriate authorizations are set for users to access and modify your new field.

:speech_balloon: Still running into issues? Share your (sanitized) code snippet focusing on the enhancement implementations, the screen field names you’re targeting, and any error messages you encounter. The community is here to help!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.