Service Contracts Billing Schedule Creation Error

Hi,
I have a requirement of creating service contracts from back-end for which I am using the oks_contracts_pub.create_contract_header, create_service_line, and create_bill_schedule. I am creating my contracts with active status and renewal type of EVN (Header level), FUL(Line Level). My contract is of type subscription. The contract header and line are creating fine but the Bill schedule API is throwing an UNEXPECTED ERROR. The billing schedules need to be created based on accounting rule which can be quarterly or monthly. I have included the bill schedule code (hard coded values) for review. Any help is greatly appreciated.
Also the version I am working on is R12
________________________________________________CODE___________________________________________________________________
CREATE OR REPLACE PROCEDURE BILLING_SCHEDULE AS
l_strm_level_tbl OKS_BILL_SCH.STREAMLVL_TBL;
v_bill_qtrs NUMBER := 0;
v_bill_mths NUMBER := 0;
v_bill_days NUMBER := 0;
v_net_amount NUMBER := 468;
v_acct_rule_name VARCHAR2(50) := 'QUARTERLY';
v_amt_per_day NUMBER;
x_error_locator VARCHAR2(2000);
v_start_date DATE := '04-MAY-2010';
v_end_date DATE := '25-MAY-2010';
x_return_status VARCHAr2(3);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
v_billing_sequence NUMBER;
x_chr_id NUMBER := 17000;
x_line_id NUMBER := 223248604345353294444923586786456728480;
g_day_uom VARCHAR2(10) := 'DAY';
g_month_uom VARCHAR2(10) := 'MTH';
g_quarter_uom VARCHAR2(10) := 'QTR';
v_amt NUMBER;
v_invoicing_rule_id NUMBER := -2;
BEGIN
--Create Billing Schedule based on accounting rule
okc_context.set_okc_org_context;
MO_GLOBAL.INIT('OKS');
MO_GLOBAL.SET_POLICY_CONTEXT('S', 83);
v_bill_qtrs := 0;
v_bill_days := 0;
v_bill_mths := 0;
SELECT NVL(v_net_amount, 0)/(v_end_date - v_start_date)
INTO v_amt_per_day
FROM dual;
dbms_output.put_line('Calculated amt per day ' || v_amt_per_day);
IF v_acct_rule_name LIKE '%QUARTERLY%' THEN
--Quarterly billing schedule
SELECT FLOOR(MONTHS_BETWEEN( v_end_date,
v_start_date)/3),
v_end_date - ADD_MONTHS(v_start_date, (FLOOR(MONTHS_BETWEEN(v_end_date, v_start_date)/3)*3))
INTO v_bill_qtrs,
v_bill_days
FROM dual;
dbms_output.put_line('Calculated the qtrs and days');
IF v_bill_qtrs > 0 THEN
SELECT (ADD_MONTHS(v_start_date, (FLOOR(MONTHS_BETWEEN(v_end_date, v_start_date)/3)*3)) - v_start_date)*v_amt_per_day
INTO v_amt
FROM dual;
dbms_output.put_line('Calculated qtr amt');
SELECT NVL(MAX(sequence_no), 0) + 1
INTO v_billing_sequence
FROM oks_stream_levels_b
WHERE dnz_chr_id = x_chr_id
AND cle_id = x_line_id;
--Populating the stream line variables
l_strm_level_tbl(v_billing_sequence).sequence_no := v_billing_sequence;
l_strm_level_tbl(v_billing_sequence).dnz_chr_id := x_chr_id;
-- l_strm_level_tbl(v_billing_sequence).id := x_line_id;
l_strm_level_tbl(v_billing_sequence).cle_id := x_line_id;
l_strm_level_tbl(v_billing_sequence).uom_code := g_quarter_uom;
l_strm_level_tbl(v_billing_sequence).uom_per_period := 1;
l_strm_level_tbl(v_billing_sequence).level_periods := v_bill_qtrs;
l_strm_level_tbl(v_billing_sequence).start_date := v_start_date;
l_strm_level_tbl(v_billing_sequence).end_date := v_end_date;
l_strm_level_tbl(v_billing_sequence).invoice_offset_days := NULL;
l_strm_level_tbl(v_billing_sequence).amount := v_amt/v_bill_qtrs;
l_strm_level_tbl(v_billing_sequence).level_amount := v_amt/v_bill_qtrs;
l_strm_level_tbl(v_billing_sequence).lines_detailed_yn := 'Y';
l_strm_level_tbl(v_billing_sequence).due_arr_yn := 'Y';
dbms_output.put_line('Before calling the Bill Sch API for QTR');
OKS_CONTRACTS_PUB.CREATE_BILL_SCHEDULE ( p_billing_sch=>'E',
p_strm_level_tbl=>l_strm_level_tbl,
p_invoice_rule_id=>v_invoicing_rule_id,
x_return_status=>x_return_status);
dbms_output.put_line('After calling the Bill Sch API for QTR');
IF x_return_status <> 'S' THEN
x_msg_count := 1;
dbms_output.put_line('Quarterly schedule creation error ' || x_msg_data);
---DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('OKS_A');
-- RETURN;
END IF;
END IF;
IF v_bill_days > 0 THEN
SELECT NVL(MAX(sequence_no), 0) + 1
INTO v_billing_sequence
FROM oks_stream_levels_b
WHERE dnz_chr_id = x_chr_id
AND cle_id = x_line_id;
dbms_output.put_line('sequence '||v_billing_sequence);
--Populating the stream line variables
l_strm_level_tbl(v_billing_sequence).sequence_no := v_billing_sequence;
l_strm_level_tbl(v_billing_sequence).dnz_chr_id := x_chr_id;
--l_strm_level_tbl(v_billing_sequence).id := x_line_id;
l_strm_level_tbl(v_billing_sequence).cle_id := x_line_id;
l_strm_level_tbl(v_billing_sequence).uom_code := g_day_uom;
l_strm_level_tbl(v_billing_sequence).uom_per_period := v_bill_days;
l_strm_level_tbl(v_billing_sequence).level_periods := 1;
l_strm_level_tbl(v_billing_sequence).start_date := v_start_date;
l_strm_level_tbl(v_billing_sequence).end_date := v_end_date;
l_strm_level_tbl(v_billing_sequence).invoice_offset_days := NULL;
l_strm_level_tbl(v_billing_sequence).amount := v_net_amount;--v_amt_per_day*v_bill_days;
l_strm_level_tbl(v_billing_sequence).level_amount := v_net_amount;--v_amt_per_day*v_bill_days;
l_strm_level_tbl(v_billing_sequence).lines_detailed_yn := 'Y';
l_strm_level_tbl(v_billing_sequence).due_arr_yn := 'Y';
dbms_output.put_line('Before calling the Bill Sch API for QTR days');
OKS_CONTRACTS_PUB.CREATE_BILL_SCHEDULE ( p_billing_sch=>'E',
p_strm_level_tbl=>l_strm_level_tbl,
p_invoice_rule_id=>v_invoicing_rule_id,
x_return_status=>x_return_status);
dbms_output.put_line('After calling the Bill Sch API for QTR days ' || v_bill_days || ' ' || x_return_status);
IF x_return_status <> 'S' THEN
x_msg_count := 1;
dbms_output.put_line('Day schedule, for quarterly accounting rule, creation error ' || x_msg_data);
--DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('OKS_A');
--RETURN;
END IF;
END IF;
ELSE
--Monthly billing schedule
SELECT FLOOR(MONTHS_BETWEEN( v_end_date,
v_start_date)),
v_end_date - ADD_MONTHS(v_start_date, FLOOR(MONTHS_BETWEEN(v_end_date, v_start_date)))
INTO v_bill_mths,
v_bill_days
FROM dual;
dbms_output.put_line('Calculated the mths and days');
IF v_bill_mths > 0 THEN
SELECT (ADD_MONTHS(v_start_date,FLOOR(MONTHS_BETWEEN(v_end_date, v_start_date))) - v_start_date)*v_amt_per_day
INTO v_amt
FROM dual;
dbms_output.put_line('Calculated the mths amt');
SELECT NVL(MAX(sequence_no), 0) + 1
INTO v_billing_sequence
FROM oks_stream_levels_b
WHERE dnz_chr_id = x_chr_id
AND cle_id = x_line_id;
--Populating the stream line variables
l_strm_level_tbl(v_billing_sequence).sequence_no := v_billing_sequence;
l_strm_level_tbl(v_billing_sequence).dnz_chr_id := x_chr_id;
--l_strm_level_tbl(v_billing_sequence).id := x_line_id;
l_strm_level_tbl(v_billing_sequence).cle_id := x_line_id;
l_strm_level_tbl(v_billing_sequence).uom_code := g_month_uom;
l_strm_level_tbl(v_billing_sequence).uom_per_period := 1;
l_strm_level_tbl(v_billing_sequence).level_periods := v_bill_mths;
l_strm_level_tbl(v_billing_sequence).start_date := v_start_date;
l_strm_level_tbl(v_billing_sequence).end_date := v_end_date;
l_strm_level_tbl(v_billing_sequence).invoice_offset_days := NULL;
l_strm_level_tbl(v_billing_sequence).amount := v_amt/v_bill_mths;
l_strm_level_tbl(v_billing_sequence).level_amount := v_amt/v_bill_mths;
l_strm_level_tbl(v_billing_sequence).lines_detailed_yn := 'Y';
l_strm_level_tbl(v_billing_sequence).due_arr_yn := 'Y';
dbms_output.put_line('Before calling the Bill Sch API for MTHS');
OKS_CONTRACTS_PUB.CREATE_BILL_SCHEDULE ( p_billing_sch=>'E',
p_strm_level_tbl=>l_strm_level_tbl,
p_invoice_rule_id=>v_invoicing_rule_id,
x_return_status=>x_return_status);
dbms_output.put_line('After calling the Bill Sch API for MTHS');
IF x_return_status <> 'S' THEN
x_msg_count := 1;
dbms_output.put_line('Monthly schedule creation error ' || x_msg_data);
--DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('OKS_A');
--RETURN;
END IF;
END IF;
IF v_bill_days > 0 THEN
SELECT NVL(MAX(sequence_no), 0) + 1
INTO v_billing_sequence
FROM oks_stream_levels_b
WHERE dnz_chr_id = x_chr_id
AND cle_id = x_line_id;
--Populating the stream line variables
l_strm_level_tbl(v_billing_sequence).sequence_no := v_billing_sequence;
l_strm_level_tbl(v_billing_sequence).dnz_chr_id := x_chr_id;
--l_strm_level_tbl(v_billing_sequence).id := x_line_id;
l_strm_level_tbl(v_billing_sequence).cle_id := x_line_id;
l_strm_level_tbl(v_billing_sequence).uom_code := g_day_uom;
l_strm_level_tbl(v_billing_sequence).uom_per_period := v_bill_days;
l_strm_level_tbl(v_billing_sequence).level_periods := 1;
l_strm_level_tbl(v_billing_sequence).start_date := v_start_date;
l_strm_level_tbl(v_billing_sequence).end_date := v_end_date;
l_strm_level_tbl(v_billing_sequence).invoice_offset_days := NULL;
l_strm_level_tbl(v_billing_sequence).amount := v_amt_per_day*v_bill_days;
l_strm_level_tbl(v_billing_sequence).level_amount := v_amt_per_day*v_bill_days;
l_strm_level_tbl(v_billing_sequence).lines_detailed_yn := 'Y';
l_strm_level_tbl(v_billing_sequence).due_arr_yn := 'Y';
dbms_output.put_line('Before calling the Bill Sch API for MTH days');
OKS_CONTRACTS_PUB.CREATE_BILL_SCHEDULE ( p_billing_sch=>'E',
p_strm_level_tbl=>l_strm_level_tbl,
p_invoice_rule_id=>v_invoicing_rule_id,
x_return_status=>x_return_status);
dbms_output.put_line('After calling the Bill Sch API for MTH days');
IF x_return_status <> 'S' THEN
x_msg_count := 1;
dbms_output.put_line('Day schedule, for monthly accounting rule, creation error ' || x_msg_data);
--DBMS_TRANSACTION.ROLLBACK_SAVEPOINT('OKS_A');
--RETURN;
END IF;
END IF;
END IF;
COMMIT;
EXCEPTION
when others then
dbms_output.put_line('Error ' || sqlerrm);
END;
Thanks,
Yash.

Hi There,
I have a similar requirement to create rental service contracts and create billing schedules.
Can you please pass on your functional docs so that i can refer to them.
Thanks,
Raidu

Similar Messages

  • Service contract - Billing block

    Dear Guru's
                 i am doing  the service contract with standard document type  WV.But my client requirment is,he wants to block the individual line item wise in VA41 and Release in VA42 by individual line item and do billing in VF01.
               could anybody tell me how to configure the same. i am using the Billing plan Periodic .
    Thank you
    suribabu

    Hi,
    You can achieve same using status profile conifg at item level, i did same for my service contract for order creation block ( IW31) and Billing block,
    try with status profile , i hope its help you to block Service items in sales contract.
    Regards
    Nishad

  • Service Contract Billing

    Hi,
    I am trying to bill a service contract with periodic billing plan. but when it is executing it is showing all the dates based on the period(monthly). But after saving it, its showing me only last date. I am not getting whats wrong?? I want to bill only for a particular period not for all. plz guide me .
    Thanks
    Ipsit

    Hi ,
    As per my Knowledge  you need to configure your fiscal year in your system  then after creation your billing it will calculate  into  period.
    For example     : if you set up your project   November month  then onwards after completion of project it will calculate period  to the back   .   if your project has completed  in june      your peariod would  08 .
    if you give me brief i can help you out more.
    if helpful REWARD points
    Thank you .
    Regards
    Ramana

  • Service Contract Billing plan

    Dear Guru's,
               As per my clinet Requirement we configured the Service Contract with Periodic Billing Plan on Monthly basis.Now After Saving the Service Contract when i go to change mode in Item Level Billing Plan Tab Page it is showing GREY or DISPLAY MODE only. But when i realize the Button HDR it is showing CHANGE MODE.
               Now what is my Requirement is The Billing Plan Tab page Should always be in Change mode only .So how to do this could anybody help me.
    Thank you
    suribabu

    Dear All,
                    Thank you. i solved the problem. i have maintain the Billing plan in Both Header and Item level.Now Remove at Header level. Do run the cycle.
    Thank you.
    suribabu

  • Billing Service Contracts per order instead of a billing plan

    Is it possible, with standard config, to disconnect the billing plan from a service contract and bill the service order itself with a fixed labor charge.
    Where the fixed labor charge amount comes from the contract.
    In other words, we want to bill service contract orders by billing a fixed labor charge on the orders instead of billing the fixed amount on a billing plan.
    We need to bill like this to make sure the service is complete prior to billing the contract.  Since the billing plan is independant of the service order being complete, we found that we were billing the billing plan when the service order never completed.  So we're looking for a way to sell a service contract that schedules service orders, but bills the labor as a fixed "contracted" amount on the service order.

    Hi Paul,
    I hope in service contract you have material which has the billing plan.
    Don't enter this material in service contract.Create the other material which helps to create the service order (i.e service order only created with reference to this material.)In service order you create the material for fixed price.
    I hope you know how to control the billing plan.
    Thanks,
    Senthil vadivelan.R

  • Error while creating services contract

    dear all
    when i am trying to create service contract i am getting error message as
    Enter reason for change for version
    Message no. MEDCM003
    kindly help

    >
    sardendu kumar wrote:
    > dear all
    > when i am trying to create service contract i am getting error message as
    >
    > Enter reason for change for version
    > Message no. MEDCM003
    > kindly help
    Seems like there is version management active, and its asking for reason or number, look up a field requiring the input and fill it up.
    Edited by: Afshad Irani on May 31, 2010 5:12 PM

  • How to link Sales Order with Service Contract and then with Install Base?

    Hi Friends,
    1) I would like to know the integeration process from sales order to Service Contract and then with Install Base.
    2) I couldn't see anything enabled in Service Tab in Order Lines, its grayed out. Is there any set up/profile option to get it enabled?
    3) How can we create AR invoice from Service Contract?
    Please let me know if anyone has idea on this.
    Thanks in Adavance,
    Vara

    Dear Sid,
    Thanks for your promt response.
    Let me explain you what I did.
    1) I have booked a Bill Only sales order which has one order line, mentioned it as Service Item and provided the same details in Service Tab in Order lines. Now Line status is "Fulfilled"
    2) Then Submitted Workflow Back Ground Process for OM Order Lines and it has created an AR Invoice and closed the line
    3) And then submitted "Service Contracts Order Capture Integration Program" from SErvice Contracts Responsibility and it completed normal.
    4) Now I went in to Launch Contracts Window and queried with the sales order but couldn't see any contract created
    5) Then I went in to Reprocess Order Window and found this order shows an error message as "Referenced Product not present in the Installed Base", then I tried to reprocessed it, but the same error message again.
    Here I have few doubts:
    1) Are the AR invoice and Service Contract Billing Invoices same?
    2) In above scenario AR Invoice has been created, I would like to do the billing from SErvice Contracts and need to create an Invoice in AR? how can I do that?
    because as you explained in one of my questions earlier, A Single Invoice can be created for the whole duration of the contract. I want to do that and trying for the same.
    3) Regarding the above error message, how can I resolve it and create the service contract against that Order?
    Thank you so much for your helpful answers.
    Regards,
    Vara

  • Issue in using custom discount condition type in pricing agreement at Service Contract line item level

    Hello
    We are facing an issue while using a Z discount condition type in price agreement at service contract line item level.
    A Z Condition type has been created in ECC and assigned to the pricing procedure. This pricing procedure is downloaded in CRM and determined in the service contract.
    A condition maintenance group using this Z condition type is created in CRM and assigned to service contract item category.
    Condition records are created in CRM for this condition type/condition maintenance group for specific products along with sales org and discount percentage.
    But when the price agreement(using this condition type) is used at the item level of a service contract, the system throws errors (related to product/unit of measure and sales org, even though no issues seem to be there)and thus the price agreement is not allowed to be used.
    If anyone has worked on such kind of scenario, please get in touch, I will share more details for the same. 
    Regards
    Ankit Arora

    Dear Ankit,
    Once the pricing procedure is downloaded, please maintain the document pricing procedure at service contract header level, and maintain the customer pricing procedure at business partner sales area billing data.
    In spro, maintain the pricing procedure for the combination of sales area, document pricing procedure, customer pricing procedure.
    Please crosscheck whether the condition table is active or not.
    Regards,
    Maddy

  • Not able to add PDF or JPEG file on the Service contract

    Hi All,
    Not able to add PDF or JPEG file on the Service=>Service contract=>Attachment TAB
    The error message getting displayed "This entry already exists in the following tables "(ATC1) (ODBC - 2035) [Message 131 - 183] "
    Could anybody help me to sort out this issue.
    Thanks,
    Vishwanath

    Hi,
    Would you please run the above query at your side
    select * from atc1
    where absentry not in (select absentry from oatc)
    and in case you get any results, please log a message for SAP support on Service market place
    Regards
    Vikas
    SAP Business One Forums Team
    Edited by: Vikas Rastogi on Jan 13, 2009 9:52 PM

  • Changing Billing Schedule Level for OM originated Service Contracts

    Hi,
    When we create a Service Contract from Order Management, the Billing Schedule Level is always set to Top Level and only one Billing Stream gets created.
    Can we get the Billing Schedule Level changed to other Levels viz., Equal Amount or Covered Level using any setups.
    Has anyone did any customization/extension to be able to change the Billing Schedule Level.
    The basic requirement is to have multiple billing streams for the contract, created from Order Management.
    Gurus, any ideas/suggestions to get this accomodated.

    Sid,
    I don't think you are on the right track (in my opinion). You are right that we can only create service contract from the order management (service or Extended Warranty Lines).
    If I understood correctly, you sell electronic subscriptions (like my internet service I have at home) and you are looking for way to take it from the order management so that you can bill it from Contracts and not from OM. As this is electronic service, looks like you do not have fulfill any tangible product (like magazines) from contracts. Hence you do not care about the schedule for the contract shipments. Is that correct?
    As this is not something Oracle offers (I did not find anyway), you may want to consider extending OM workflow or a batch program to create a subscription contract once the order line is fulfilled (not the program where we create service contract). This way you have flexibility to create the contract the way you want it.
    But you can always create a service contract covering a subscription item as covered product. Like I have internet service as subscription but they cover me for any incidental visits of technicians for this subscription charging me some amount every month.
    Thanks
    Nagamohan

  • Changing Billing Schedule Level for Service Contracts created in OM

    Hi,
    When we create a Service Contract from Order Management, the Billing Schedule Level is always set to Top Level and only one Billing Stream gets created.
    Can we get the Billing Schedule Level changed to other Levels viz., Equal Amount or Covered Level using any setups.
    Has anyone did any customization/extension to be able to change the Billing Schedule Level.
    The basic requirement is to have multiple billing streams for the contract, created from Order Management.
    Gurus, any ideas/suggestions to get this accomodated.

    Sid,
    I don't think you are on the right track (in my opinion). You are right that we can only create service contract from the order management (service or Extended Warranty Lines).
    If I understood correctly, you sell electronic subscriptions (like my internet service I have at home) and you are looking for way to take it from the order management so that you can bill it from Contracts and not from OM. As this is electronic service, looks like you do not have fulfill any tangible product (like magazines) from contracts. Hence you do not care about the schedule for the contract shipments. Is that correct?
    As this is not something Oracle offers (I did not find anyway), you may want to consider extending OM workflow or a batch program to create a subscription contract once the order line is fulfilled (not the program where we create service contract). This way you have flexibility to create the contract the way you want it.
    But you can always create a service contract covering a subscription item as covered product. Like I have internet service as subscription but they cover me for any incidental visits of technicians for this subscription charging me some amount every month.
    Thanks
    Nagamohan

  • Bill Schedule in Oracle Service Contracts.....

    Hi frds,
    I can able to create a new Billing Schedule for the Contracts in 11.5.10 Version.But, according to our Client requirement I am in need to update already existing Schedule.
    I am creating a new schedule using oks_contracts_pub.create_bill_schedule.
    if anyone worked on this area will you please let us know how to insert scheduling option in the Contracts.
    Thanks,
    Chandrasekhar V.

    Hope you can use OKS_BILL_SCH package for re-creating billing Schedules.

  • Is it necessary to create a Billing Plan for the Service Contracts

    Hi All,
      Is it necessary to create a billing plan for the service contracts.
      My requirement.
      In CRM 7.0, we created a service contract. For the item in that service contract there is a Billing Plan tab.
      In that tab we have the dates for Period, Billing Date etc.
      Now our requirement is to get the Billing Date quarterly. For this we created date rules and date profiles and assigned these date profiles to header and item level transactions.
    And we are able to see the date rules under the drop down of the billing date.
    I copied the standard date rule BILL004 to ZBILL004.
      But when we changed to our date rule it is not changing to quarterly date.
      Can you please let me know  what are the configurations to be done for this.
      Is the billing plan has to be created for this kind of scenario.
    Thanks in advance
    Thanks and Regards,
    Raghu

    Hi
    On OK button's action  you can Destroy the window and navigate to Page1.
    Go through this link for more details and a step by step guide for creation of pop ups  and dialog boxes
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/903fed0d-7be4-2a10-cd96-9136707374e1?quicklink=index&overridelayout=true
    Hope it works
    Regards
    Suresh

  • Stop the Billing Doc creation for error confirmation

    Hello Experts,
    This is regarding the Billing issue.
    Our Service Process: We create the Service Process and also create the followup confirmations.
    For ex: I have created one SP and also created one followup two confirmations.
    The second Confirmation contained an error and it has generated Billing Document
    Actually The bill should not be generated until all confirmation contain no error and only one billing document should be generated per Service Call.
    Could you help to stop ,the Billing Doc creation for Error Confirmations?
    Regards
    Madhu

    Check the following thread: KEPM valuation K/(834) No standard cost estimate could be found for mat.
    Shail

  • Mile stone billing for  service contract

    Hi gurus,
    can you help me for the following:
    i want to configure mile stone billing for service contract in my client business process,
    can any one send me the complete configuration process steps for mile stone billing.
    I'll reward you full marks,
    Thanks in advance
    nitchel

    Hiya...
    Billing Plan for Milestone Billing
    Milestone billing means distributing the total amount to be billed over multiple billing
    dates in the billing plan.
    As each milestone is successfully reached, the customer is billed either a percentage of
    the entire project cost or simply a pre-defined amount.
    During sales order processing, the system determines from the item category whether a
    billing plan is required and, if so, which type of plan
    The type of billing plan that is determined at this point is set up in Customizing and
    cannot be changed in the sales document.
    Billing plans for periodic billing and milestone billing plans for project-related milestone
    billing have different overview screens so that you can enter data relevant to your
    processing.
    For example, for milestone billing, you must be able to enter data to identify the
    individual milestones.
    IMG configuration requires :-
    1.  Maintain billing plan types for milestone billing in OVBO.
    2.  Define date description in SM30 - V_TVTB.
    3.  Maintain Date Category for Billing Plan Type IN OVBJ.
    4.  Allocate date category in SM30 - V_TFPLA_TY.
    5.  Maintain date proposal for Billing Plan Type in OVBM.
    6.  Assign Billing Plan Type to Sales Documents Type in OVBP.
    7.  Assign Billing Plan Type to Item Categories in OVBR.
    8.  Define rules for determining the date in OVBS.
    Milestone billing is typically used for billing projects, such as plant engineering and
    construction projects. Such projects often include a series of milestones that mark the
    completion of different stages of the work. In the SAP R/3 System, milestones are defined
    in a network along with planned and actual dates for the completion of work. The milestones
    are also assigned to the billing dates in the billing plan.
    Each milestone-related billing date is blocked for processing until the Project System
    confirms that the milestone is completed.
    Delivery-relevant order items for which a milestone billing plan applies are billed on the
    basis of the requested delivery quantity and not on the total of the confirmed quantities.
    The connection between the project and the sales document item is made in the individual
    schedule lines of the item. Each schedule item can be assigned to a network in a project.
    To display the project-related data for a schedule line, proceed as follows:
    In one of the overview screens of the sales document, select
    1.  Item -> Schedule lines.
    2.  Mark the schedule line and select Procurement details.
    The following figure shows an example of milestone billing where only the Contract have
    been billed :
    Order  Item  Turbine    100,000
    Billing Plan
    Billing date Description    %  Value  Billing Block   Milestone   Billing Status
    01-10-94     Contract      10  10,000      -             x           x 
    01-03-95     Assembly      30  30,000      x             x          
    01-04-95     Maintenance   30  30,000      x             x
    01-05-95     Acceptance    30  30,000      x             x
    01-06-95     Final invoice ..    ..        x
    Network/Activities
    Milestone    Estimate      Actual
    Assembly     01-03-95      01-03-95
    Maintenance  01-04-95     
    Acceptance   01-05-95
    For each billing date in a milestone billing plan, you can specify whether the billing
    date is:
    1.  fixed
    2.  always updated with the actual date of the milestone
    3.  updated with the actual date of the milestone, if the date is earlier than the
        planned billing date for the date
    Keep Sapping
    Regards

Maybe you are looking for

  • Set As Default Crystal Report Layout in SAP B1 8.8 PL13

    Hi, I want to Set As Default a Crystal Report Layout. I know you can do that in Layout Desginer - Selection Criteria, but SAP B1 8.8 PL 13 has only a Manage Layout button in the Layout Desginer window which links to the Report and Layout Manager. The

  • IMix not working as HTML snippet

    Can someone please help me! I have created an iMix and linked it to my iWeb site, as a HTML snippet embedded in the page. When opening the page in Safari 3.0.4 I find the link to the iMix works, but not the arrow links from to the tracks. I open the

  • Capturing an event raised by a COM object

    Hello, Using ABAP, it's no trouble using a COM object's properties and methods, but how do you capture a raised event? For example: INCLUDE OLE2INCL. DATA wf_test TYPE OLE2_OBJECT. CREATE OBJECT wf_test 'Test.Test'. SET PROPERTY OF wf_test 'TestID' =

  • Landscape orientation view

    My Blackberry 9800 Torch will no longer switch from portrait to landscape view in any application when I turn the unit on its side. It is stuck in portrait view. Very frustrating! This happened once before but corrected itself. Is there a setting tha

  • OEM - java.lang.Exception: Exception in sending Request :: null

    Hi I have installed Oracle 10.2.0 on Windows Vista Home edition, On opening OEM page gettingthe below error - Error java.lang.Exception: Exception in sending Request :: null Database Instance: orcl2 After google and some search in net , found an solu