You are on page 1of 19

SAP Payroll Basics - Part 1 The area most often overlooked when training people on SAP Payroll is the

basic, fundamental meaning and usage of payroll schemas, rules, wagetypes and their associated processes !e will try to correct that "irst, we will present an overview of the basic parts of the payroll process, then in subse#uent articles we$ll go into more detail on each one %ot every possibility will be covered & that would be a multivolume hard-back series of books, not an easily read web-based article But we will cover the basics in a way that gives you a good understanding of SAP schemas and rules & from there you can use that knowledge base to learn as much as you want about the rest of this sub'ect

S()*+AS A%, "-%(T./%S

.n SAP Payroll, functions provide the high-level logic for payroll calculations "unctions perform general processing & such as calculating payroll ta0es on a given set of wages, reading wagetypes from specific infotypes, calculating benefits premiums, and storing the results of the payroll calculation There are do1ens of functions in SAP payroll, some are country-specific and others are not *ach function is defined and documented via transaction P*234 you can also view the function documentation via transaction P,S5 in releases 3 6 and greater, or with report 7P,S5S22 in earlier versions

.n SAP )7 terms, a payroll function is not the same as an ABAP function A payroll function does consist of ABAP code, but it is not e0ecuted in the same way an ABAP function would be Payroll functions are e0ecuted within a schema by the payroll driver program 8let$s assume 7P(A9(-2: A schema is 'ust a collection of functions e0ecuted in a specific order & each one passing its results on to the ne0t Schemas are always created and edited via transaction P*21, but are actually stored as a collection of rows in tables T6;(2 8SAP standard schemas: and T6;(1 8customer-created schemas and modified SAP-standard schemas: The payroll driver reads the lines in T6;(2<T6;(1 and e0ecutes the functions one by one So how do we make the leap from a payroll function stored in a table to the e0ecution of ABAP code to get the work done= .n transaction P*23 you can see the ABAP code associated with every function The function name in the schema correlates to an ABAP form & for e0ample payroll function !PBP maps to the ABAP form >fuwpbp$4 function -STA? maps to form >fuusta0$ So when the payroll driver is e0ecuting the schema, it takes the function name from the current row in schema, puts an >fu$ on the beginning of the name, and then does a >perform$ statement on it .t$s a very simple and elegant design

!A@*T5P*S .n a broad sense, a wagetype simply holds a piece of data & a rate, number, and<or amount But more specifically, a wagetype has do1ens of attributes that control how it is manipulated and processed .n the end though, it ends up as an ob'ect in the payroll results database that stores a rate, number, and<or amount The most typical use of a wagetype is to store the amounts of earnings, deductions and ta0es in an employee$s paycheck A person$s base pay is stored in a wagetype, the amount of their -nited !ay deduction is stored in a wagetype, and their ta0able wages A ta0es are stored in wagetypes !agetypes, as the primary data element for employee paychecks, are also mapped to ".<(/ accounts to record the debits and credits resulting from the paycheck and reported on the !-; and other ta0 forms !agetypes can also be used to store statistical data & such as the number of hours worked in a pay period, the average weekly wages for the past si0 months, or the amount of wages eligible for a profit sharing calculation !agetype attributes are stored in several tables, but the central table is T61;! +uch more time will be spent on various aspects of T61;! There are three categories of wagetypes & model, technical, and user +odel wagetypes are delivered by SAP for customers to use as guidelines for creating their own wagetypes They always start with a letter and SAP may add, delete or update them in system upgrades or )7SP$s Technical wagetypes always start with the ><$ symbol, and are delivered by SAP They are intended for very specific standard processing in payroll, and while you can modify them, SAP may also update them during upgrades or )7SP$s So if you ever 8. mean *B*7: change a technical wagetype, check it after each upgrade or )7SP to make sure it still has the attributes you want And never delete a technical wagetype -ser wagetypes always start with a number & and these are wagetypes that SAP does not change during upgrades A )7SP$s /C, SAP rarely changes them in upgrades and )7SP$s -ser wagetypes are for all the companyspecific payroll payments and deductions

7-9*S A%, /P*7AT./%S A long-time client of ours once created a screen-saver message that stated >Payroll 7ulesD$ Those of us who were e0perienced SAP Payroll analysts or consultants immediately saw the double meaning, and corny humor, in that message 7ules contain the most basic logic used in SAP Payroll !here a schema is a collection of functions, a rule is a collection of operations An operation is a very basic piece of logic that is used, mostly, to manipulate wagetypes "or e0ample, operation +-9T. multiplies the number and rate fields of a wagetype to determine the amount to pay an employee /peration /-T!P retrieves specific data about an employee so that another operation can make a decision on how to process it "or e0ample, if the work contract on infotype 1 is -A then do >0$, if it is -B then do >y$, otherwise do >1$ /perations can also be viewed in transactions P*23 and P,S5, and are edited with transaction P*2; !here a function$s ABAP e#uivalent form starts with >fu$, an operation$s ABAP form starts with >op$ "or e0ample, operation +-9T. would have an ABAP form >opmulti$ 7ules, like schemas, are stored in a table & rules are stored in T6;(6 The more senior SAP consultants who have been working with computer systems for many years often find similarities between payroll rules and programming mainframe computers in Assembly language !hile there is nothing fancy about operations, when used correctly together they can be very powerful )opefully we$ve presented a good but brief overview that makes sense .n our ne0t SAP Payroll Technical Basics article we will get into more detail on the common functions used in SAP$s payroll schema (entral "unctions in the Payroll Schema Previously we presented an overview of the foundation of payroll processing - the basic structure of schemas, rules, function and operations %ow letEs take a look at the ma'or functions in the payroll schema "unctions can have up to four parameters, and usually the SAP documentation does a good 'ob telling you what each parameter does ,ocumentation for functions and operations can be found via transactions P,S5 or P*23 (/P5 This is the same as EincludeE in ABAP and other programming languages (/P5 'ust inserts the schema contained in parameter 1 when payroll is e0ecuted @ood programming style and good schema configuration style are basically the same - put commonly used logic in an EincludeE so that it can be used in several places and to improve readability B9/(C As of release 3 2 the schema log is organi1ed in a collapsible tree structure B9/(C B*@ starts a node and B9/(C *%, ends the node *verything between B*@ and *%, is contained within the node B9/(C B*@<*%, can be nested several levels deep Again, place the B9/(C B*@<*%, functions appropriately to make the log easy to read ."<*9S*<*%,."

There are two ways to specify the true<false condition for an ." function SAP has several built-in conditions that you can use in parameter ; 8." %A+( in schema -222: 5ou can also specify a custom rule in parameter 1, and in the rule perform whatever logic you want .n the rule you use operation S(/%, to set the true<false switch for the ." function P0000 The payroll driver A schema read and process data from many infotypes The common way of doing this is with infotype-specific functions - named as EPE and the four-digit infotype number So, P2213 reads and processes data from infotype 13, P21FG processes life insurance plans from infotype 1FG and P;212 reads in additional payments from infotype ;212 +any of these functions, but not all, allow you to futher refine the processing with a payroll rule Schema -AP2, for e0ample, shows that P2213 is processed futher by rule -211 "unction P21FG is one of those that does not use a rule 8in some older releases it does: - you specify options in parameter 1 instead 8see schema -B*1: Some infotypes are used in payroll, but do not have a P000 function *0amples include infotypes ;2H, ;2G, ;2I and ;12 which are all read and processed in the main ta0 function -STA? .nfotypes 2, 1, H, and G are processed by function !PBP P.T P.T is an acronym for Process .nput Table, and is one of the most used and most powerful functions in payroll !hen wagetypes are read into payroll by the P000 functions, they are stored in an internal table called .T - .nput Table P.T loops through that table and applies logic contained in rules So for each wagetype in the .T, it will apply the logic from a rule The goal of P.T is to move wagetypes out of the .T and into the 7T - 7esults Table +ost often, the rules called by P.T will change some attributes of the wagetype and then transfer it from the .T to the 7T The wagetype can also be left in the .T and even moved to other tables !eEll cover those possibilities when we reiew how operations work A good e0ample of P.T is in schema -A92 - P.T ?2;J !hen the payroll driver gets to this point in the schema, P.T will look at each wagetype in the .T, and rule ?2;J tells it to do certain things depending on the wagetypeEs value in processing class ;2 Balues J, 3, 6, F, I and B will move the wagetype to the 7T, while values 1, H, and G leave it in the .T Balue ; has no operation, essentially eliminating the wagetype from the .T P7T P7T is short for Process 7esults Table Although most wagetype processing happens via P.T, there are several occasions where you want to process the wagetypes that have already been transferred to the 7esults Table 87T: P7T work much the same as P.T, looping through the 7T and applying logic from a rule .n schema -T?2, P7T is used to process ta0 wagetypes that are already in the 7T "unction -T?2 8-S ta0 function: returns its wagetypes directly to the 7T, so any processing on ta0 wagetypes has to be done with a P7T function A(T./ The A(T./ function processes a payroll rule, but it does not loop through a wagetype table .nstead it can loop over the different workplace<basic pay records and process the rule for each one "or e0ample, suppose the employee had two infotype 1 records for the current pay period A(T./ would have two records to loop through Schema -T?2 again has a good e0ample of A(T./ using rule -!)1 to calculate the number of working hours in the pay period

(ommonly -sed /perations in SAP Payroll Previously we presented an overview of the foundation of payroll processing and information on the central functions in the payroll schema So you know the structure of payroll processing and the ma'or functions - now we will look at payroll operations, where most of the real work gets done This sub'ect area is very large and we are only scratching the surface here 9ike functions, documentation for operations can be found via transactions P,S5 or P*23 /perations can be placed in two broad groups - those that make decisions and those that manipulate wagetypes Some of them fit into both groups +anipulating !agetypes !orking with wagetypes in a rule is sort of like working with internal tables in ABAP The function that called the rule 8P.T, P7T, P2213 or whatever: loops through the table, placing each row, one at a time, in a EheaderE space 5ou work with the wagetype in that header space, and when finished add it back to the table +-9T., ,.B., These operations let you multiply two fields of a wagetype and store it in a third The fields you can work with are A+T, 7T* and %-+ +-9T. 7%A would multiply the rate by the number and store the result in the amount field ,.B., A%A would divide the amount field by the number and store it back in the amount field %-+, 7T* and A+T These are very basic and powerful operations that manipulate the content of their respective fields The "1 help documentation is very useful since there are so many ways to use these operations /n a basic level, you set values like %-+K1 or A+TK; 62 - though that it is bad practice to do this -se constants instead - create a constant in T611C called L%-+ and then do %-+KCL%-+ 8set number field to the constant L%-+: Since constants are date-effective and rules are not, this will give you more fle0ibility when the number has to change 5ou can set the field of the wagetype in the header e#ual to the corresponding field of another wagetype A+TK*I??? sets the amount e#ual to the amount field of wagetype I??? in the 7T A+TM I??? sets the amount field to I??? in the .T only if it is less than what is already in the amount field 8takes the minimum of the two values: "inally, you can use arithmetic on the values 7T*N122 multiplies the contents of the rate field by 122 and stores it back in the rate field A+TNCL%-+ multiplies the amount by whatever is in constant L%-+ A,,!T So by now weEve set the values of our wagetype using +-9T., ,.B.,, A+T, 7T* and %-+ A,,!T transfers the wagetype in the header to some other table - enabling us to save all that work before the ne0t wagetype goes to the header The basic idea is that you transfer the wagetype to another table, with or without changing the wagetype number A,,!T*N adds the wagetype to the 7T without changing the wagetype number A,,!T*I??? transfers it to the 7T and renames it to I??? Again, the "1 help documentation will tell you all the tables that you can transfer to *9.+. and 7*S*T

Splits are attributes of wagetypes that link them to some other table in payroll Sometimes you have to remove certain splits when doing work in a rule - thatEs what *9.+. does 8*9.+.nate splits: After you eliminate splits on a wagetype, within the same rule you can restore them with 7*S*T @enerally you should avoid eliminating splits - it can lead to problems in pro-ration and reporting So use with caution and test your work well ".99" This simple operation resets the value of a wagetype field "or e0ample, ".99" A resets the amount back to what it was when the rule was first called So, hereEs how you would put these all together to calculate a deduction that is fi0ed percentage of base pay 8there are several ways to do this, hereEs 'ust one: 9etEs assume base pay is in the .T, the percentage is stored as a whole number in constant L%-+, and youEve made a rule that has a section for wagetype NNNN and for base pay, E2BASE in this case The deduction will be 3??? So in the schema we will do a P.T on rule L221O P.T L221 .n the ruleO !agetype NNNNO A,,!T N 8if itEs not 2BAS we 'ust want to pass it on without changing it: !agetype 2BASO A,,!T N, %-+KCL%-+, +-9T. A%A, A+T<-122, A,,!T 3??? 8pass 2BAS on to the output table so we donEt lose it, set the number field e#ual to constant L%-+, multiply the number by the amount, divide the amount by -122 since we store the percentage as a whole number and we want deductions to be negative, and store the result as wagetype 3???: +aking ,ecisions +any times we only want to take action if certain conditions e0ist - for e0ample we only want to calculate deduction 3??? for certain types of employees "or these cases, decision operations let us choose when to take that action ,ecisions put their results into what is called the variable key - think of this like a case statement with wildcards .f . put the company code in the variable key, then the line that has 1;J3 will e0ecute for company code 1;J3, ;NNN will e0ecute for any company that begins with ;, and NNNN will e0ecute for companies that match neither /-T!P This operation lets us make decisions based on various data elements in the !PBP table in payroll - roughly the infotype 2 and 1 data There are many elements to look at, via the "1 help documentation As an e0ample, you could look at the company code via /-T!P(/+P5 - this puts the contents of the company code field into the variable key BAC*5 9ike /-T!P this places certain data in the variable key - see the "1 help documentation for all the possibilities %-+, 7T* and A+T )ere they are again, as decisions .f . say A+T=2, it will compare the value in the amount field to 1ero and return either P, M, or K /r you could compare it to a constant or another wagetype using the same concepts mentioned above B!T(9

This operation returns the value of a certain processing class for the current wagetype "or e0ample, B!T(9 IJ places in the variable key the value of processing class IJ 7ule ?2;J is a good e0ample of how processing class values are used .n our previous e0ample we calculated deduction 3??? for every person who had base pay wagetype 2BAS -sing /-T!P you could decide to calculate it only for people in certain personnel areas<subareas, or for certain employee subgroups for e0ample 9etEs say that you only want to calculate it when someone has entered wagetype 3??? in infotype 13 or 16 Assume here that the wagetype is entered in the infotype with something re#uired in the number field )ere are the steps you could doO !agetype 2BASO A,,!T N, %-+K 3???, do a decision on %-+=2 and if K then do nothing, otherwise 8the N condition: do %-+KCL%-+, +-9T. A%A, A+T<-122, A,,!T 3??? ,epending on how your wagetype splits are setup at this point, you might want to *9.+. 7 'ust before %-+K3??? and 7*S*T 7 before A,,!T 3??? As mentioned earlier, this is 'ust a scratch on the surface !hen configuring payroll you can not focus e0clusively on 'ust one piece of the pu11le - understanding how all the pieces are related will lead to the best configuration There are many ways you can combine functions, operations, processing classes, and constants SAP has created a powerful and fle0ible configuration model for payroll !hen used correctly it gets a lot of work done well, but when done incorrectly it leads to confusion and instability So test and document your configuration wellD /7@A%.L.%@ SAP PA57/99 P7/(*SS.%@ )ow many programs does your organi1ation run to pay your employees= ,epending on how many separate systems with which you interface, the list could be #uite long There are programs to drive the payroll, print the checks, create the bank file, post the payroll, send payments to vendors to name a few !ith the introduction of SAP release 3 0 came a new utility called >process models$ which order and organi1e payroll processing Bisually, the process model is a flow chart of the programs in your payroll process Process models can be created at least for regular payrolls, off-cycle payrolls, reversals, check replacements and bonus payments The user initiates a process directly from the process model workbench or through the off-cycle workbench /nce the process is started, containers that carry necessary output from the previous program as selection criteria for the subse#uent program "or instance, if running a regular payroll, the output container for the pre-,+* program would be the payment run date and payment identification This would also be the input container for the check-printing program As the process is running, the user can see the status of each program by how many personnel numbers are processed and how many are incorrect To prevent subse#uent programs from running before the results of the previous program are checked, breakpoints can be sandwiched between the programs @reen lights indicate the process is finished and there were no errors .f a step does end in errors, they can be fi0ed and the step restarted

P7/(*SS +/,*9S

!ith a #uick background behind us, what are the niceties of the process model= /bvious from the nature of the model, there is connectivity to the programs )as your payroll processor ever gone down the list of steps to running the payroll and forgotten a step= !ith process models there will not be a list of to-dos since the programs are linked together in the model The process model is a to-do list in itself Also, there is increased automation with the process model Because the programs are linked and the selection criteria are stored in variants and containers, the step of manually getting a variant and supplying the rest of the selection criteria is eliminated This also eliminates possible errors in manually typing the selection criteria Another time-saver is the availability of the status for each step Throughout the processing, the status of the program can be checked for incorrect personnel numbers and errors .t is obvious if there is an error when the program is done running and there is an icon other than a green light for that program !ith a right click on the step of the process, the user can go to the specific spool or 'ob related to the program or the user can display the incorrect personnel numbers related to the program The process model also allows parallel processing of appropriate steps Since certain programs can be run simultaneously, the processing time will be reduced Another key factor is processing history .f running programs without the workbench, the history of what is run can most closely be found through the 'ob log and the spool list Although this will contain what programs were run and their output, it is not organi1ed with respect to the payroll process The 'ob log will contain any other unrelated programs that the user has run and won$t group the programs by payroll area or process There is only an alphabetical list of 'obs run for the period of time specified The process model will list each step in a process and its status .t is very conducive to determining where the payroll processor is in the process .f the processor has to une0pectedly leave for the day, her backup can go directly to the workbench and identify where she left off Breakpoints were mentioned earlier Part of the breakpoint functionality is notification !hen the process reaches a breakpoint, specific people can be notified automatically Perhaps after the programs for third party processing are finished, accounting should be notified to run the accounts payable payment run

)aving 'ust focused specifically on the process model workbench, what is the big picture of payroll processing= Processes have to start somewhere As mentioned previously, the beginning is different for payrolls for mass employees than for individual processing Processes for mass payrolls are initiated within the workbench by creating a process that e0ecutes the steps in a process model !hen the processor is ready to actually run the payroll, the process must be e0ecuted /nce e0ecuted, a selection program appears where the processor enters at least the payroll area and period These are the initial selection criteria that get passed to the first program The selection program will be different for different processes A regular payroll process model will use )IIQSelectQPernr whereas a special payment run model will use )IIQSelectQPernrQ+assQBonus The latter allows additional payment types 8special, correction, etc : whereas the former only allows regular payroll runs .ndividual off-cycle runs are actually launched in the off-cycle workbench !hen a processor runs an off-cycle payment, reverses a payment or replaces a payment, the off-cycle information is stored in the table T6;/(@ Then the

follow-up program 7P-/(B22 8Subse#uent Processes of /ff-(ycle Activities: must be run to get processes started in the process model workbench /ff-cycle processing is organi1ed by payroll area, period and payment type So regular off-cycle runs will be grouped by payroll area and period Special runs like correction and special checks will be organi1ed by payment type and date 7eplacement runs will be organi1ed by payment run date and identification After the follow-up program is run, the off-cycle processes will automatically start in the process model workbench

(-ST/+.L.%@ P7/(*SS +/,*9S "/7 5/-7 /7@A%.LAT./% !ith the big picture in mind, how do you incorporate the off-cycle workbench, subse#uent processing and the process model workbench into your payroll processing= There are two key components to recogni1eO how the e0isting processing can be restructured and improved and how the process models can be created to meet and e0ceed the needs of the payroll department )ere are some key #uestions to ask yourself and your payroll department Think of the answers to these #uestions within the framework of improving your processing and incorporating the payroll tools SAP delivers )ow many persons are available and needed for processing payroll in the department= !hich payroll employees$ talents and abilities are best suited for the different roles in processing the payroll= .n other words, what are your resources= !here does the process begin and end= "or instance, are time and master data entered in distributed centers= .s the main portion of the payroll processed centrally= Are the checks printed in different locations= Are the distributed centers staffed deeply enough that someone can run the off-cycle payrolls related to their employees= Perhaps the distributed centers could run the off-cycles and the main payroll could run the batch process in the process model )ow often do the checks and advices need to be processed= Twice a day, once a day= +ost likely, the less times the batches of results have to be processed, the more efficient the processing !hat processing records are kept currently= .s there a log of payrolls processed and can it be revised to keep less detail= .f a processing log is kept, it could be reorgani1ed to model the steps in your processes !hich programs can be included in the process model= SAP has designated many programs that can be used in process models & some lesser-used ones may not be available for the process model Perhaps the benefit of having other programs in a model outweighs the work to maintain a customer version of the programs )ow many processes are needed= At a minimum, a different process will be needed for regular mass payrolls, offcycle payrolls and replacement checks +odels can also be created for mass bonus payments and voids if needed !here should breakpoints be placed= The most obvious place for breakpoints is to stop the process before production runs occur so that the results of the simulation can be reviewed Are there other strategic places where breakpoints can be used= /n the other hand, is it necessary to have as many breakpoints as originally envisioned= !ho should be notified at the occurrence of breakpoints= )ow are you going to set up each of the variants for the process models= /ne possible scenario is to start the name of the variant with the name of the model

!hat else can you ask yourself and the members of your department which will lead to better organi1ation= The needs of each payroll department will differ according to its environment Spending some time pondering the answers to these #uestions may allow you to incorporate the payroll processing tools in your processing and improve the efficiency of the process /f course, there isn$t one ideal plan the fits the needs of all payroll organi1ations

AB/.,.%@ P7/B9*+S Although the process models can bring organi1ation and efficiency, there are some avoidable problems that may occur SAP delivers standard e0amples of process models that can be copied and modified to suit your payroll$s needs Be careful to copy the SAP delivered model for the correct process *ach model is connected to a selection program and is assigned to a type of process 8e g regular or off-cycle: ,ouble-check the attributes of the model to ensure it is assigned to the correct selection program and model type .f either of these is incorrect, the process most likely will not start As more processes are started in the workbench, the time it takes to refresh the list increases /nce processes are finished and correct, they can be at least closed A filter can be applied to limit the number of processes viewed in the workbench and reduce the refresh time "or some, the process model workbench can be visually deterring especially if the model contains many steps Be sure to number the steps to be visually logical within the workbench Also, use descriptive te0t to e0plain each step .f you need to download or print the spool in a certain step, include that in the te0t for the step Perhaps a step is *0ecute Posting The te0t could be changed to *0ecute Posting 8,: to indicate that the file should be downloaded As mentioned previously, the names of the variants must be customi1ed and transported !ith some careful thought, the variant names can be created to avoid having to create transports at the last minute "or instance, it may be more useful to have a separate variant name for each combination of program and model rather than the same variant for the same program across several models Then if you have to change the selection criteria for a program related to two different process models, you have the comple0ity to be able to change the selection criteria for the program related to a specific model .f the variant name were the same for both models, the change to the variant would affect both models The process model workbench uses elements of the SAP !orkflow module .f you create and e0ecute a process and it never starts, check whether the generic workflow user is unlocked 9astly, if there is more than one payroll processor, thought must be given to the security for viewing 'obs and spools .f one person starts the process and another ends it, it will be necessary for the second person to be able to view the 'obs and spools of the previous person

-pon review of your payroll organi1ation, the payroll tools can probably add efficiency and more order to the processing of your payroll 7ather than simply connecting the e0isting programs together in a process, use the tools to discover ways to help your organi1ation

Payroll Ta0 +odels in SAP )7 Ta0 models drive how wages are ta0ed in the SAP -S payroll calculation SAP supplies a general ta0 model with the system, but if you do business in local ta0 authorities or have comple0 ta0ation rules then you will most likely have to configure your own ta0 models There are several steps and basic settings that define what is ta0able, non-ta0able, or adds to a ta0able wage base Several items on the ta0 'urisdiction 8i e ta0 authority: have to be set up and then that is matched to the appropriate processing class values to achieve proper ta0ation The first step is the most basic - identify each ta0 authority and give it a number This number is the Ta0 Authority +odel found in table T6-T* .n short, the Ta0 Authority +odel is a 'urisdiction, or group of 'urisdictions, that has one set of ta0ation rules To configure the ta0 models correctly you have to set up each authority that has a uni#ue set of ta0es States such as (alifornia and %ew Rersey would have to have their own, but states that only have a withholding ta0 and have the same ta0able wage base could be grouped together )owever, for ease of configuration and to facilitate possible future changes, we advise you create a Ta0 Authority +odel for every state Since there are so many local ta0 authorities, grouping those by the state they are in and on ta0ation rules is the best option *ven grouping like authorities can lead to many different Ta0 Authority +odels

The ne0t step is to set up various Ta0 Type (ombinations, found in table T6-T5 This is a grouping of the different types of ta0es into sets that would be applicable to an authority and applicable processing class H1 value The same combination can be used with many authorities and many processing classes, as long as it matches the ta0ation rules .n many cases, most states would 'ust have a ta0 type of 218withholding: But some states or locals may have a 218withholding: and a type of 6J8school ta0: To get those ta0es to apply to one authority, you create a combination that has both ta0 types linked to it An e0ample could be ta0 combo 21 only has ta0 type 218withholding: attached to it, but ta0 combo 2; has ta0 types 21 and 6J8school ta0: attached (ombinations should also take into consideration whether they are going to be applied to a residence ta0 area, work ta0 area, and<or unemployment ta0 area This should be evaluated based on whether the ta0 type is driven by residence or work location /ccupational ta0es are generally determined based on your work location !hen the ta0 type combos have been created, you can then attach those to the ta0 models you created in the first step 8table T6-T+: 5ou have to attach these based on what you need for the work ta0 authority, residence ta0 authority, and unemployment ta0 authority .f a ta0 combo is not valid for a work ta0 area, but is valid for a residence ta0 area, then you would only attach that combo to that authority for the residence ta0 area !hen attaching the ta0 authorities, you also need to specify what processing class H1value you want to tie to that combination "or e0ample, you would want to create a P(H1 value for a wage type that is to be added to a withholding ta0 wage base and not to be ta0ed That P(H1 value would have a ta0 combo tied to an authority that said ta0 type 21 with a value T 8ta0able base-no ta0: *0ample Say you had three processing classes, 0, y, and 1 "or processing class H1, 0 was fully ta0able, y had earnings that should go to a wage base only for work and residence, and 1 was non-ta0able for residence, but ta0able for work Below is a chart of a state and some ta0 type combinations set up for it State 7,!,- (ombo Ta0 Types Ta0ability .ndicator /C 7 1 1 8withholding: 5 8ta0able: /C ! 1 1 8withholding: 5 8ta0able: /C - ; 12 8-.: 5 8ta0able: /C 7 J 1 8withholding: T 8ta0 base: /C ! J 1 8withholding: T 8ta0 base:

"or processing class ? you would use 7 and ! with combo 1 "or processing class y, you would use 7 and ! with combo J .f you want a wage to be ta0able based on residence status, then you would only set up an 7 with a combo of 1 .f you set up a combo with a ta0 type in it for a specific processing class, then the wage types with that processing class will have the ta0es specified in the ta0 type combo taken out .f you donEt want those ta0es taken or applied to wage bases, then you do not link anything to that processing class .f you 'ust want the wage type to add to a ta0 base, then you have to link the processing class to the correct combo that would utili1e the ta0ability indicator of a T %ow, when payroll runs on an employee, here are the simplified steps it goes through to determine how to ta0 various items in the paycheckO S 7ead infotypes ;2H, ;2G and ;2I to see what ta0 authorities the employee is sub'ect to S 7ead infotype ;12 and ;J3 to get additional details for withholding ta0es S 7ead infotype ;J6 to see if the employee is e0empt for other types of ta0es S "or each wagetype 8in the 7T: and ta0 authority 8T6-T*:, use processing class H1 to lookup the ta0 type combo 8T6-T+: - do this three times, for residence, work and unemployment S "ind out what ta0 types are setup for each ta0 type combo and then use that to build the ta0able wages per authority and ta0 type - now we have a matri0 of wages by authority and ta0 type S Send all this data to BS., where the actual ta0 calculation happens Payroll ta0 is one of the most comple0 areas of any payroll system This is 'ust the tip of the iceberg of how it is done in SAPEs Payroll moduleD

5ear-*nd Processing in SAP There are a number of activities that must be performed at year-end for any payroll system /ur 5ear-*nd TuickStart @uide is intended to get you started on a successful year-end process Some of the items may not be applicable for your firm, and we could go into much more detail for each item There are some more common sense items not listed - such as establishing your year-end team and making sure your payroll is balanced Be sure to visit SAPEs 5ear-*nd web page for the latest information on year-end processing in SAP Payroll 8use your /SS ., and password to access their page: The content on SAPEs year-end site changes often, so visit it at least weekly Also be sure to participate in SAPEs 5ear-*nd Angel program - you can use .nsight for your 5ear-*nd Angel 'ust by notifying SAP and signing-up at our 5ear-*nd page

.nform related departments about your year-end payroll and ta0 filing schedule 8. e mailroom, printing services, etc: +ake sure your SAP payroll calendar and related items are e0tended correctly into ;221 Berify employee social security numbers, names and addresses -pdate "ederal A State ta0 levies for changes in standard deductions 7eview uncollected ta0es 8<%00 wagetypes: and take re#uired steps, if desired, to resolve them /rder ta0 forms and envelopes4 make sure !-; instructions are up to date .f you have customi1ed Ta0 7eporter ta0 forms, ta0 form groups, or user e0its, reapply those changes to the most recent SAP-delivered ob'ects +ake sure SAP configuration is updated for ;221 state A "ederal wage bases 8. e unemployment, disability, etc: 7eview Jrd party Sick Payments and determine how you will enter them into SAP for !-; reporting 7eview !-3 e0emptions and !-6Es 7eview reconciliations between @9 and Payroll to make sure ta0 accounts are in balance +ake sure users are trained on .nfotype ;;1<Payroll Ad'ustments processing +ake sure you keep current on BS. T-BS that have wage or rate changes for the upcoming year

-sing SAP )7 Ta0 7eporter *very payroll or ta0 professional knows ta0 year-end can generate a large amount of stress during an already busy time of year .t seems several months can be devoted toward preparing for, living through and cleaning up after ta0 filing (orrect and efficient ta0 preparation eases the pressure of the ta0 season and leaves yourself, your employees and the government happy people There are several things that can be done to ease the burden Besides monitoring your employees$ ta0 data early, creating year-end checklists and attending year-end seminars, the SAP Ta0 7eporter functionality is advantageous in ta0 preparation during and at the end of the ta0 year Before taking a look at the year-end !-; forms and magnetic media reminisce on a plausible situation Suppose an employee was e0empted from Social Security and +edicare in 1III and should have been sub'ect to the ta0es "ortunately, you were able to collect the ta0 from the employee %ow, it is necessary to complete a !-;c, I31c, I31 and Schedule B with the revisions There is a tremendous amount of manual work in calculating and completing these forms (autiously, you ask at least two other people double-check your forms because it is even more tedious to correct a correction The savvy ta0 professional will download the fill-in forms from the .nternal 7evenue Service$s website to avoid the anti#uated typewriter *ven with tremendous care, there is opportunity for mistake in calculation or completion .s there a way to eliminate some of this overhead= This is one area where Ta0 7eporter can help The idea behind Ta0 7eporter is to report on all the ta0 information stored in payroll clusters and third-party remittance tables so that it is readily available for ta0 reporting and filing By reporting directly from the payroll ta0 clusters and remittance tables, some intermediate steps have been eliminated The payroll or ta0 professional no longer needs to calculate or complete the forms Because the data is readily available, forms can be produced on demand in test or productive form /nce run as a productive version, the form can be reprinted .f Ta0 7eporter had been run in 1III, the employee from the previous paragraph whose payroll results could be corrected will appear during a correction run The !-;c and all other forms affected by the correction then can be printed *liminating another step in totaling the deposits made to each government agency can reduce the chance for error 5our organi1ation may track deposits in a spreadsheet, refer to the general ledger or vendor account or some other method in order to report the payments made during the ta0 period "ewer calculations provide less opportunity for mistake Also, if drawing deposit information from payments out of a general ledger or vendor account, it is necessary to pull the correct information There may be incorrect entries in the account, or deposits may not be the only transaction types in the account Ta0 7eporter draws on the actual remittance data for each ta0 authority, eliminating yet another tedious step in the preparation before the form is due .f you have enough employees to warrant using SAP Payroll, chances are you are not aware of every ad'ustment to employees$ earnings each payroll Perhaps you have distributed data entry areas and there was a change to an employee$s data that affected a previous ta0 year )ow do you know this change took place= Because the prior year$s form and ta0 data is stored in payroll clusters, Ta0 7eporter can be periodically run to indicate any corrections *ven if .nfotype J or the payroll control record is used to prevent retroactivity, there are cases when you need to allow an employee$s payroll to be calculated retroactively into the old calendar year Ta0 7eporter can be used to see if there was a change to the employee$s ta0 data

Again, with enough employees it may be difficult or tedious to track all changes to an employee$s !-; information Suppose an employee who received a 1IIG !-;c re#uests a copy of his 1IIG !-; in ;222 A reprint of both the original and correction form can be created in the same place rather than having to copy paper or forms on microfiche

PA57/99-TA? 7*P/7T*7 7*(/%(.9.AT./% Although calculation and production of the forms is very straightforward, reconciliation is still a key part to successful ta0 preparation Because SAP is so comple0, incorrect data entry can result in incorrect results .n addition, special circumstances will have to be handled in con'unction with the use of Ta0 7eporter "or instance, how does your organi1e handle uncollected Social Security and +edicare ta0es= Also, any current year claims that have been repaid should be handled using non-authori1ed manual checks where the ta0able gross has not been reduced due to insufficient Ugood moneyV The payroll reconciliation report #ueries payroll results and can show the differences between the payroll results and the results in Ta0 7eporter .t can also help identify special ta0 situations "or instance, SAP recommends that the payroll reconciliation report be run to show the current claims and then the claims report be run to show the detail to the claims .n addition, the payroll reconciliation report can be run to show uni#ue situations like employees with <.00 wage types or uncollected Social Security and +edicare ta0es Then these situations should be cleared up before yearend Also, because forms like the I31 only report in total per #uarter, the payroll reconciliation report can be run on the wage types used in the I31 to reconcile at the personnel number level !ith this individual persons can be identified Ceep in mind that the payroll reconciliation report should be used rather than the wage type statement or ta0 type statement because it is more conducive to ta0 reporting "or instance, if the wage type statement were run on <H21, it would report the ta0able wages for all income ta0 levels 8i e "ederal, state and local: The payroll reconciliation report allows ta0 specific selection criteria and can be run over a range of time rather than only a single period %ecessarily, Ta0 7eporter is comple0 and re#uires some configuration and user training Because government forms and regulations may change from year to year, planning ahead is a key to integrating Ta0 7eporter into the !-; season Preparing Ta0 7eporter does not have to be a lonely 'ob though 5ear-end support is available from SAP or other organi1ations depending on the need .n addition to the )7 support packages 8formerly legal change patches:, which update tables and processing based on legal re#uirements, SAP offers support and an opportunity for feedback .t provides year-end configuration training and the 5ear-*nd Angel program (onsulting firms such as .nsight can also provide configuration training and support specifically geared toward year-end After the !-; season has ended but is still fresh in everyone$s memories, SAP hosts year-end focus groups to draw on its customers$ suggestions and needs +any changes to Ta0 7eporter have resulted from the focus groups Some developments that resulted from last year$s focus groups include enhancements to the Ta0 7eporter log and the configuration checker The log will show differences from the original results and the payroll reconciliation report can be used to identify the changes The configuration checker is intended to isolate common configuration errors before the ta0 reports are produced The days are gone sitting at a typewriter endless hours or individually preparing forms Ta0 7eporter allows e0tra efficiency and accuracy in the calculation and production of forms .t provides a way to find ta0 data corrections .t also provides a complete package linking payroll data and ta0 forms There is support available and prevailing re#uests for enhancements make their way to the end user !hat more could the payroll professional need, e0cept of course a real vacation during the !-; season=

httpO<<www insightcp com<research htm

(opyright ;226 .nsight (onsulting Partners

You might also like