cancel
Showing results for 
Search instead for 
Did you mean: 

Perdiem before travel

Former Member
0 Kudos

Hi All,

Following requirement is to be incoroporated into our client system:

a. Employee raises a travel request.

b. On raising travel request, the per diems needs to be defaulted based on country and employee level

Regions  With Accomodation
Grade AGrade BGrade CGrade D
The Americas (North, South and Central)950950850700
Europe (West and East)750750650450
Asia750750650450

Without Accomodation
The Americas (North, South and Central)NA380340280
Europe (West and East)NA300260180
AsiaNA300260180

Is there a way to pay per diem before travel instead of expense?

Kindly assist.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

We managed to do this using customization in the advance field. Thanks.

Olivier2
Discoverer
0 Kudos

Hello Avi Pi,

I have the same requirement you had: on the travel request (not on travel expense), I need to calculate perdiem and pay perdiem as advance (15 days before travel).

1) How did you do that? You mentioned customization in advance field. Could you please explain the technical principles of your customization and post  few screenshots.

2) An other requirement is to declare on the travel request meals that are expected to be deducted.

On the SAP standard way, this screen is available on the travel expense. See NWBC screenshot (in french):

Did you manage to do that on your project?

Cheers,

Olivier

Answers (4)

Answers (4)

manou_manou
Explorer
0 Kudos

Hi,

if you decide to calculate Per Diem on stage don't forget to fill field PTRV_PERIO-VERPA = 'X'.

thanks

Best Regards,

Emmanuel Levy

Former Member
0 Kudos

Hello Avi,

Can you please elaborate the requirement "Do i still need to set up the perdiem nodes in Expenses?"

Former Member
0 Kudos

Hi Urvin,

Let me reiterate the requirement:

If employee raises a travel request, the system should calculate per-diem automatically based upon the number of days/destination/ region/country/Grade and on selecting Accomodation provided or not. The employee will be paid the per-diem in advance and the same will be posted to FI via Accounts payable.


RegionsWith Accomodation
Grade AGrade BGrade CGrade D
Europe (West and East)750750650450
Asia750750650450

Without Accomodation
The Americas (North, South and Central)NA380340280
Europe (West and East)NA300260180


For example, an employee is raising a travel request for a country in Europe with accomodation and is at Grade B, his travel is from 3/7 to 5/7 i.e. for 2 days. The advance perdiem as per the guidelines provided will be 1500 USD.


For example, an employee is raising a travel request for a country in Europe without accomodation and is at Grade B, his travel is from 3/7 to 5/7 i.e. for 2 days. The advance perdiem as per the guidelines provided will be 600 USD.


All this needs to be performed when a travel request has been raised not in travel expenses.

So just checking, if we manage to customise this, do we have to do anything in the IMG nodes of Perdiems.

Regards,

Avi

Former Member
0 Kudos

Hello Avi,

There is an view name V_T706V (name of the table is T706V) in this view you can maintain the per-diem rates based on days/destination/ region/country/Grade.

There are different check tables for region/country/grade. so first you need to maintain that all and then maintain rates in the view. Name of check table are available in the table T706V.

If you want any additional checks or any additional calculation for per-Diem then you can implement a BADI AFTER_TRIP_SETTLE. In this BADI most of the parameters are changing parameters, so that you can change the per-Diem amount, accommodation amount, deduction amount etc.

Former Member
0 Kudos

The keyword here is PR03. (If Urvin's solution doesn't appeal to you)

0 Kudos

Yes, The Per-Diem rates can be set as default for country by maintaining in the table T706v.

It is maintained through transaction SM30 and name of the maintenance view is V_T706V.

Former Member
0 Kudos

Hi Achal,

My query is on the "Travel Request" perspective not on "Travel Expense".

Can you elaborate on the flow?

How can i default the perdiems in the field Advances of the "Travel Request" form on portal?

Regards,

Avi

0 Kudos

The Per-Diem rates are defaulted in the table t706v.

Through Transaction PR03 you can claim advances. You cannot claim advances through the Portal.

If you set the Per-Diem rates in the table t706v and create an advance on behalf of an employee then as soon as you save that advance in the transaction, the trip is created in employee's queue. Then the employee has to change that trip and claim his per-Diem.

The logic will automatically deduct the advance amount from the total per-Diem amount and the final amount is created at the output.

In this way he gets advance Per-Diem and when he claims for that trip at that time it will get deducted from advance amount and finally he will get the remaining amount.

Still you have any issue then can you please elaborate your requirement or show me with screen shot so that i get a very clear picture of your requirement.

Former Member
0 Kudos

Hi Avichal,

Advances can be input in portal. Please see below screenshot for you to understand:

What we are expecting is that the Enter Advances button be grayed out and the value in the display text box defaults the advance per diem based on the country selected and the dates of travel and employee grade?

We will be adding one more field on the screen called accomodation. If the employee checks it, then perdiem advance will be as below:

Regions With Accomodation
Grade AGrade BGrade CGrade D
Europe (West and East)750750650450
Asia750750650450

If there is no check, then advances will be calculated as below:

Without Accomodation
The Americas (North, South and Central)NA380340280
Europe (West and East)NA300260180

Is there a BADI that will help us do so?

I hope my query is a bit more clear now?

0 Kudos

If you want to hide the button then you need to create an enhancement in the Webdynpro Component

FITE_VC_GENERAL_DATA.

In this webdynpro component go to the View and create an enhancement and on the post exit of the method WDDOMODIFYVIEW you can hide the button.

This is the code for it.

cl_fitv_wd_util=>ui_set_visible( io_view = view
                                      iv_id = 'GO_ADVANCES'
                                      iv_visible = abap_false ).


For the advances text box you have add the below logic based on the country value you have to pass. This logic also you have to pass in the post exit of method WDDOMODIFYVIEW.


you have to pass the advances value in the variable LV_Advances.


DATA: lo_nd_general_data_addon TYPE REF TO if_wd_context_node,
         lo_el_general_data_addon TYPE REF TO if_wd_context_element,
         ls_general_data_addon    TYPE wd_this->element_general_data_addon,
         lv_advances              TYPE wd_this->element_general_data_addon-advances.


   lo_nd_general_data_addon = wd_context->get_child_node( name = wd_this->wdctx_general_data_addon ).
   lo_el_general_data_addon = lo_nd_general_data_addon->get_element( ).
   lo_el_general_data_addon->set_attribute(
     name `ADVANCES`
     value = lv_advances ).


Still you have any query then you can ask me.

Former Member
0 Kudos

Oh great.

Thanks Avichal.Will look into the details provided.

We are thinking of creating a ZTABLE to store the perdiems values and doing calculations in it and displaying in the advances.

Do i still need to set up the perdiem nodes in Expenses?

0 Kudos

Can you please elaborate the requirement of Expenses because there are many tables for maintaining the expense type and their details. So until you provide me any concrete requirement till then i cant help you.

Former Member
0 Kudos

This is the requirement provided:

If employee raises a travel request, the system should calculate per-diem automatically based upon the number of days/destination/ region/country/Grade and on selecting Accomodation provided or not. The employee will be paid the per-diem in advance and the same will be posted to FI via Accounts payable.


RegionsWith Accomodation
Grade AGrade BGrade CGrade D
Europe (West and East)750750650450
Asia750750650450

Without Accomodation
The Americas (North, South and Central)NA380340280
Europe (West and East)NA300260180


For example, an employee is raising a travel request for a country in Europe with accomodation and is at Grade B, his travel is from 3/7 to 5/7 i.e. for 2 days. The advance perdiem as per the guidelines provided will be 1500 USD.


For example, an employee is raising a travel request for a country in Europe without accomodation and is at Grade B, his travel is from 3/7 to 5/7 i.e. for 2 days. The advance perdiem as per the guidelines provided will be 600 USD.


All this needs to be performed when a travel request has been raised.


Hope this is clear now.

Former Member
0 Kudos

Hi Avichal.

Requirement provided. Is there anything else required?

0 Kudos

Yes, it can be done through transaction PR03. just enter the pernr of the employee and create a trip in the transaction PR03 and the advance amount to be paid.

As soon as we save the trip will come in the list employee and based on his expense claim and per-Diem the amount will get deducted and he will get the final amount.

Former Member
0 Kudos

Hi Avichal,

We are using portal application.

If you see the scenario provided, the values need to be flat rates.

Employee selects the location of travel,based on that the perdiem needs to be defaulted and this should happen when he creates a travel request not at the time of expense.

0 Kudos

Advance payment option is only available from back-end and the amount you pay in advance after that the trip is created and goes into the employee's queue. The employee needs to change the trip from portal or back-end any way. And need to select the location of travel and save and send the trip for approval. The amount of advance will be deducted from per-Diem calculation and he will get the final amount if the advance amount which is paid is less.

Former Member
0 Kudos

Hi Avichal,

Advance can be keyed in on portal as well.

However, what I want to know is if there is a way to default the value of the advance based on country selected.