I’m working on customizing the MIRO transaction and need to modify the Payment section. Currently users can only select the Baseline Date, but I want to add an “Invoice Receipt Date” field as an alternative option.
Is it possible to enhance this transaction to include this additional date field? I’m looking for implementation approaches - maybe through Business Add-ins (BADIs) or using available BAPIs for this modification.
Has anyone successfully added custom fields to the MIRO payment block before? What would be the best technical approach to achieve this functionality? Any guidance on the specific enhancement spots or user exits that might be relevant would be really helpful.
I need this so users can have more flexibility when processing invoices and can choose the appropriate date field based on their business requirements.
Had this exact same issue two years ago with our invoice workflow - needed extra date tracking too. I used BADI MRM_WORKFLOW_AGENTS with screen enhancement through SPRO customization. Created a custom field in the RBKP table extension, then used BAPI_INCOMINGINVOICE_CREATE for the enhanced data structure. Key lesson: you’ve got to modify both header AND item level screens or your data consistency goes out the window. Heads up - once you add that custom field, you’ll likely need to update your payment terms logic since it might mess with baseline date calculations. Took me about three weeks with testing, but it’s been rock solid since.
Screen modification’s your best bet. Check MIRO_CUST transaction - there’s config options that’ll save you coding time. Skip the old user exits and go with enhancement framework instead. Way cleaner.
i tried that too! make sure to look into the enhancement spot INVOICE_UPDATE, and the BADI MRM_PAYMENT_TERMS should do the trick. just a heads up though, modifying the screen painter can get a lil tricky. def test it in dev first!
Use user exit MRM99001 in include ZXMRMU05. This exit lets you add custom fields to the payment screen and control the data flow. I did something similar for a client who needed extra date validations. Here’s what works: modify the screen layout in SE80, then handle the field logic in the user exit. You’ll need to extend table RSEG or create a custom table for your Invoice Receipt Date. Don’t forget to adjust the field catalog in the payment block configuration - that part took me way longer than expected since the documentation was pretty unclear about the step sequence.
Focus on enhancement spot MM_INVOICE for this modification. I did something similar six months ago using BADI MRM_HEADER_CHECK with screen variant config. The tricky bit is making sure your custom Invoice Receipt Date field plays nice with the existing payment term logic. You’ll modify screen group MIRO in SHD0 to add the field, then handle backend processing through the enhancement. Watch out for field validation timing - I got burned on this. If you don’t sequence it right with baseline date processing, you’ll get weird behavior when posting documents. Test it hard with different document types since some won’t let you modify certain fields.