How can I include Invoice Receipt Date field in MIRO Payment section?

I need to customize the MIRO transaction to include an “Invoice Receipt Date” field within the Payment section. Currently users can only work with the Baseline Date field, but I want to give them the option to select Invoice Receipt Date instead.

I’m looking for the best approach to implement this enhancement. Are there any Business Add-ins (BADIs) available that would allow me to modify the Payment block fields? Alternatively, would using a BAPI be a viable solution for this customization?

The goal is to provide users with more flexibility when processing invoices by allowing them to choose between different date options in the payment area of the MIRO screen.

The BAPI route works but it’s overkill. I used user exit MRM_PAYMENT_HEADER in 2019 and it handled adding the field without issues. Just modify the payment screen group to include your Invoice Receipt Date field next to the existing Baseline Date. You’ll need to tweak the PBO/PAI screen logic to populate and validate the new field properly. Watch out for payment terms calculations though - the system defaults to baseline date for payment due calculations, so double-check how switching to Invoice Receipt Date impacts your payment runs. Also verify your dunning config since it usually references baseline dates for overdue calculations.

Configuration tables are probably your easiest bet. Check table V_T052_B for payment terms setup - you can usually expose more date fields through customization without coding. I did this for a manufacturing client who needed receipt date visibility in payment processing. The trick is updating the field catalog in MRM1 to add Invoice Receipt Date as a selectable option next to Baseline Date. You’ll need to configure payment program variants to recognize this field, but it beats dealing with enhancement spots or user exits. Just make sure your payment proposal runs (F110) handle the new date field properly, especially with automated payment processing. Test the hell out of it with different payment terms since some calculations rely on specific date references.

You want enhancement spot MRM_PAYMENT_DIALOG. I did something similar two years back - it’s the cleanest way to handle this. Just create an implementation in that spot and modify the payment dialog structure to add your custom fields directly to the payment block. No need to mess with screen modifications or complex BADIs. The Invoice Receipt Date field should already exist in the MIRO document structure, so you’re mainly exposing it in the UI and getting the field logic right. Watch out for field validation though - users love entering dates that break payment processing rules. Also think about how this impacts your current payment workflows and whether you’ll need to update reports or interfaces that pull this data.

honestly, just use screen variant MIRO_PAYMENT - copy the standard screen and add your invoice receipt date field. i did this last month and it works great. skip the complex enhancement spots or user exits unless you need fancy logic. just double-check that payment terms still calculate right since most companies use the baseline date for that.