Skip to end of metadata
Go to start of metadata

The Invoicing Plan



Content

  • Definition: invoicing plan
  • How it works
    • Periodic invoicing plan:
    • Partial invoicing plan:
  • How to create an invoicing plan for a PO item
  • Customizing of invoicing plans
  • Important tables, forms and function modules
  • Tips for debugging
  • important notes

Definition: invoicing plan

(taken from the documentation in the Implementation Guide for R/3 Customizing (IMG))

"List of dates on which invoices for purchase order items covering materials or services are to be maintained and paid.
The invoicing plan permits extensive automation of the process of creating and paying invoices for both recurring procurement transactions (such as rental or leasing payments) and transactions involving settlement in stages (such as payment regarding the individual phases of a building project as they are completed)."

How it works

The invoicing plan is a time schedule that belongs to a PO item. According to this time schedule the system automatically can create invoices when the planned invoicing date is reached.
(There are also customers who don't use the automatical posting of invoices, but use the invoicing plan as a sort of memory aid for themselves where they can look up when to create an invoice.)

There are two different kinds of invoicing plans:
   - Periodic invoicing plan
   - Partial invoicing plan

Invoicing plans contain informations and rules that belong to the whole invoicing plan, like:
   - invoicing plan type
   - start date
   - end date (only for periodic invoicing plans)
   - dates from (only for periodic invoicing plans)
   - dates until (only for periodic invoicing plans)
   - Rule for determining the next billing/invoice date (only for periodic invoicing plans)
   - in advance (only for periodic invoicing plans)
   - calender ID (only for periodic invoicing plans)
   - horizon (only for periodic invoicing plans)
   - reference (only for partial invoicing plans)

In addition there is a line for each invoicing date.
The most important data that you can find in these lines are:
   - invoicing value
   - invoicing date
   - billing block
      (if filled -> no invoice will be created at the invoicing date of this line.
       The billing can not be filled or deleted by the system! If you want to use it, the billing block has to be filled / deleted manually.)
   - billing status
       (for invoicing plans the billing status can have two different values:
      'A' = not processed
      'C' = partially processed or fully processed
       (status 'B' does not exist for invoicing plans, but only for SD factury plan!))
 

Periodic invoicing plan:

The total amount of the PO item is paid in each invoice. It can be used for example for rents, which have to be paid regularly.
In this example the total amount of the PO item is 1000,- Euro.
This is how the periodic invoicing plan looks like:


 

The invoicing dates in periodic invoicing plans are created automatically by the system.

To create them, it uses the rules like

  • "start date" and "end date"
    (these must be filled. They can be filled automatically by the system via "Rule for origin of start/end date of billing plan/invoice plan")
  • "Rule for origin of start/end date of billing plan/invoice plan"
    The rules - like "02 = Contract start date" in this example - are defined in customizing.
  • "dates from" and "dates until" (these are optional and restrict the start and end date. They can be filled automatically by the system via "Rule for origin of billing plan start date / Rule for original deadline until")
  • "Rule for origin of billing plan start date" (FPLA-LODAR) /
    "Rule for original deadline until" (FPLA-TNDAR)
    The rules are defined in customizing.
  • "Rule for determining the next billing/invoice date" (this must be filled)
     The rules - like "51 = Monthly at the first of the month" in this example - are defined in customizing.
  • "Rule for determination of a deviating billing/invoice date" (this is optional and can modify the invoice date from the one defined by the rule for determining the next invoice date, for example two days earlier)
    The rules are defined in customizing.
  • "Horizon" (this is optional. It defines for how long in the future invoice dates shall be already created. This is important for the commitment, which is created for all invoice dates listed in an invoicing plan)
    The rules - like "52 = Horizon 1 Year" in this example - are defined in customizing.
  • "Cal-ID = Calendar for defining days relevant for billing/invoicing"
    (this is optional. A calender defines the dates that are possible as invoice dates, e.g. only Mondays. Then the Rules for determining the next invoice date would only take Mondays)

In customizing these rules can be put to an invoicing plan type.
When maintaining an invoicing plan in a PO, these rules are defaulted. They can be changed manually.


 

Partial invoicing plan:

The total amount of the PO item is paid in several partial invoices.
In the following example the total amount of the PO item is 800.- Euro.

This is how the corresponding partial invoicing plan can look like:



The invoicing dates in partial invoicing plans can either be created manually (like in the above example) or automatically.
To create the dates automatically an appropriate reference invoicing plan has to be used. This has been done in the following example:


reference invoicing plan 1838 has been used.
The invoice dates have been created automatically, using the relation between start date and invoice dates of the reference invoice plan and using the percentages of the reference invoice plan.

This is how this reference invoicing plan looks like:

 

You can maintain a reference invoicing plan for an invoicing plan type in customizing, in 'Maintain Date Proposal for Partial Invoicing Plans'. This is explained later in chapter 'Customizing'.

(Partial invoicing plans can contain down payments too. Down payments can't be posted automatically! They have to be created manually. The down payment date in an invoicing plan is only a memory aid for the user.
The whole amount of the PO item has to be in the invoices of the invoicing plan. The amount of the down payments must not be subtracted from the amount of the invoices. 
The payment program in the end knows about the down payments and only pays the difference between the invoice and the down payment.)

Transaction MLRP (Report RMFPLA01)
is used to automatically update periodic invoicing plans. That means it creates new invoicing dates according to the informations given in this invoicing plan (like "start date" and "end date" - maybe additionally "dates from" and "dates until" - "horizon", rules like "monthly",  "in advance", ...)

Transaction MRIS (Report RMMR1MIS)
is used to automatically create invoices for items with invoicing plans. It will create invoices for these invoicing dates that are due today or in the past and that are not blocked.
Posting via function module MRM_INVOICE_CREATE.
 

How to create an invoicing plan for a PO item

An invoicing plan belongs to a PO item.
This PO item must not have delivery costs, a valuated goods receipt or goods receipt based IV.

If you want the system to automatically create invoices for this PO item, you must flag ERS (Evaluated Receipt Settlement, EKPO-XERSY) on the item detail screen.
(To make this ERS field appear on the screen, it must be chosen in the customizing of the vendor where it is part of 'control data')

This is how you create the invoicing plan:
-> select the item line
-> go to -> "item" -> "invoicing plan"
-> select the invoicing plan you want to have

In a partial invoicing plan you can either create the dates manually or use a reference invoicing plan (see above, chapter 'How it works, Partial invoicing plan').
In a periodic invoicing plan, you can not create or delete dates manually (if you do so, these changes will be undone by the system when the invoicing plan is worked with either directly or via transaction MLRP)
To create or delete invoicing dates, use the rules defined in the invoicing plan like "start date" and "end date" - maybe additionally "dates from" and "dates until" - "horizon", rules like "monthly",  "in advance", ... (see above, chapter 'How it works, Periodic invoicing plan').

Please see also these notes:
- 499688 (FAQ: Ending an invoicing plan / restricting date)                                     
- 537779 (Date generation for Periodic Invoicing Plans)
- 499523 (FAQ: Invoicing plan in MM)

Customizing of invoicing plans

The customizing of the invoicing plan is found by this path:
-> Materials Management
     -> Purchasing
          -> Purchase Order
               -> Invoicing Plan

This can / must be done here:

- Invoicing Plan Types
     -> Maintain Periodic Invoicing Plan Types

 
 

These dates determine how the invoicing dates are created in an invoicing plan of this type. They can be changed in the invoicing plan.
"Dialog pur. Order" must be maintained here. It is necessary to enable the automatic creation of invoicing dates.

-
     -> Maintain Partial Invoicing Plan Types

 

You can define your own invoicing plan types here. To do so, please copy an existing invoicing plan type and change it.
Here you can maintain data that are suggested in an invoicing plan, such as start date etc.
The field "Dialog pur. Order" has to be maintained here too. It is important for the automatic creation of invoicing dates.

- Maintain Date Ids
Here you enter the date description. The descriptions are merely to differentiate between the invoicing dates and have no control character.

- Date categories
The date category has control functions for the invoicing plan.
For example, it specifies the calculation rule of the invoicing dates.

     -> Maintain Date Category for Invoicing Plan Type
In this step, you can assign one or more date categories to each invoicing plan type. If necessary, you can create new date categories.



 

    -> Define Default Date Category for Invoicing Plan Type
In this step, you can specify a date category as the default value for each invoicing plan type (because several categories are possible for each plan type).



- Maintain Date Proposal for Partial Invoicing Plans
Here can be defined reference invoicing plans for partial invoicing plan types.
This reference is used to automatically create invoicing dates in an invoicing plan of this type. The invoicing dates are taken from the reference object, are redetermined on the basis of the current rules and inserted into the invoicing plan.
To create the reference invoicing plan, click on the button "Maintain dates".



The field "Dialog pur. Order" has to be marked if you want the dates in a billing plan to be determined automatically and entered in the billing plan. It must be maintained in customizing in "Maintain Partial Invoicing Plan Types".

- Define Rules for Date Determination
The dates that are used in the customizing of the invoicing plans, are defined here.
For example for periodic invoicing plans you need a rule with the last invoicing date as baseline date and with information about the next invoicing date (for example in one week).


This rules means that there will be a new invoicing date one ("time period") month ("time unit") after the last invoicing date ("baseline date"). The invoicing dates will be at the first of month.
(The calendar ID can be used if you want the invoicing dates to be at different dates: you could define a calendar that has only one working day each month. In this case leave the field "last of month" blank and fill the field "calendar ID". The invoicing dates will then be at the only working day of each month.)

- Define Invoice Block
Here you can define keys and short descriptions for your desired blocking reasons.
(These blocking reasons can be maintained manually in the invoicing plan. They can not be inserted or deleted automatically.)

Please see also the IMG activity documentation that you find in invoicing plan customizing. It contains useful information!

Most common misunderstandings

  • Often customers think that there is a link between the invoicing date in the invoicing plan and the invoice.
    There is no such connection! All invoices belong to the PO item. All the information is in the PO item (such as accounting information for example or the value).
    The invoicing plan is only a scheme to remind the system (or the user) of when to post an invoice. It is nothing else!
    A connection between invoicing dates in the invoicing plan and invoices will not be realised either (from time to time there are customers asking for this). Such a connection is not part of the concept of invoicing plans. The invoices are connected only to the PO item.
    (The design of the whole functionality is not to realise such a connection. If someone would want to redesign the invoicing plan and realise this connection, the whole functionality would have to be designed and programmed newly.)

          Please see also these notes:
          - 499523 (FAQ: Invoicing plan in MM)
          - 456398 (Invoicing plan: Status 'C' for not settled date)
          - 442610 (Block for dates in the invoicing plan)
          - 350549 (RE-PLAN: Invoicing plans and account assignment change)

  • Sometimes customers want to use the status of an invoicing date ('A' or 'C') for some report of their own. This status has to be calculated newly whenever it is needed.
    The status that is stored in table FPLT is irrelevant!
    The design is to calculate the status newly whenever the invoicing plan is touched. The system does this by taking the sum of all invoices that belong to this item. This sum is then being distributed on the invoicing dates in chronological order (leaving out the invoicing dates with billing block).
    All invoicing dates that get at a part of the sum, get status 'C' ("partially processed / fully processed").
    The invoicing dates that get nothing of the sum of all invoices, get status 'A' ("not processed").
    -> when the status is needed for a new report, it must not (!!) be taken from the database but must be calculated! 

 Important tables, forms and function modules

(not all existing code is mentioned here, but the most important parts)

Tables:

There are two database tables that store the informations of invoicing plans:

FPLA: contains informations and rules that belong to the whole invoicing plan, like:
- invoicing plan type
- start date
- end date (only for periodic invoicing plans)
- dates from (only for periodic invoicing plans)
- dates until (only for periodic invoicing plans)
- Rule for determining the next billing/invoice date (only for periodic invoicing plans)
- in advance (only for periodic invoicing plans)
- calender ID (only for periodic invoicing plans)
- horizon (only for periodic invoicing plans)
- reference (only for partial invoicing plans)

FPLT: contains the informations of the invoicing dates, like 
- invoicing value
- invoicing date
- billing block
- billing status

Each invoicing plan has a number. In table EKPO this invoicing plan number is stored in field EKPO-FPLNR. Via this FPLNR invoicing plan and PO item are tied together.

Function group MLRP

Function modules:

ML_INVOICING_SCHEDUEL_GET_NO

creates number of invoicing plan

ML_INVOICING_SCHEDULE_DIALOG

calls invoicing plan

ML_INVOICING_SCHEDULE_GENERATE

generates invoicing plan

ML_INVOICING_SCHEDULE_READ

reads the invoicing plan

ML_INVOICING_SCHEDULE_REFRESH

sets back internal data of invoicing plan

ML_INVOICING_SCHEDULE_SAVE

saves invoicing plan

ML_INVOICING_SCHEDULE_VALUES

calculates values of invoicing plan dates

ML_INV_SCHED_GENER_UNTIL_HORIZ

creates invoicing plan dates according to horizon

ML_READ_INVOICING_SCHEDULE

gives open values to the automatic IV creation

REGEL_PRUEFEN

checks if rules are correct in invoicing plan

Forms:

RE_VERTEILUNG

calculates the total value of all invoices

AZ_VERTEILUNG

calculates the total value of all down payments

SAPMM06E / SAPLMEPO

Forms:

REPL_VALUES_GENERATE

is called in MM06EFKO_Preisfindung_Uebernahme.
Generates values for invoicing dates.

SET_REPL_VALUES

filles COMMRP from EKKO and EKPO

REPL_MAINTAIN (MM06E)

is called if the invoicing plan is called

MEPO_REPL_MAINTAIN (MEPO)

is called if the invoicing plan is called

Function group EINS

Forms:

ME_PREPARE_STATISTICS

 

ME_STATISTICS_RKO

-> commitment

FPLT_VORBEREITEN

ZFPLT gets filled (invoicing plan dates)

RKO_FPLT

values are written in RKO. XEKBP gets filled.

RKO_EKBE

 

Function group EINR

Forms:

XEK08R_AUFBAUEN_REPL

determines the invoice values:
- they are posted via transaction MRIS (automatic creation of invoices)
- they are proposed in transaction MIRO

Function group V60F (does not belong to us but to SD. It is billing plan code. Invoicing plan uses much of their code, but there are some special parts of the code that are processed only for invoicing plans!)

Forms:

FPLT_FAKWR_ERMITTELN

fills XFPLT

RECHNUNG_VERTEILEN

distributes sum of all posted invoices to the invoicing dates -> decides if an invoicing date gets status 'A' or 'C'.

Tips for debugging


CON_FPTYP_RECHNUNGSPLAN_MM  is a variable that is only filled if it is a MM-invoicing plan. By this variable is decided whether the code for MM-invoicing-plan is processed or not.
So by this variable you can find the code that is specific for MM-invoicing-plan.

Table XEK08R contains the data that we give to invoice verification.

When we are in SD billing plan code, invoicing plan and billing plan can be distinguished by field XFPLA-FPTYP:
For Invoicing plans, XFPLA-FPTYP = 'B'

important notes


685262  Down payments in the invoicing plan
663759  Connection of invoice and invoicing plan date
621072  Invoice quantity in purchase order with invoicing plan
562298  Statistics: REWRT and REMNG w/ invoicing plan
552039  Composite SAP note for problems in LIS with invoicing plan
537779  Date generation for Periodic Invoicing Plans
535461  MCER: Invoice quantity in purchase order with invoicing plan
525108  Parked invoices with invoicing plan
499799  Total value of purchase orders with periodic invoicing plan
499688  FAQ: Ending an invoicing plan / restricting date period
499523  FAQ: Invoicing plan in MM 
484608  Price change in invoicing plan
456398  Invoicing plan: Status 'C' for not settled date
442610  Block for dates in the invoicing plan
433597  Commitment update for services or invoicing plan
350549  RE-PLAN: Invoicing plans and account assignment change
339264  IR plan:commts reductn for invoicing plan (net doc)        
321164  Invoice entered manually for invoicing plan
303610  Invoicing plan: commitments only reduced for period

  • No labels