Apply Receipt against Invoice through Auto Invoice Program

Please explain how to accomplish this process - Apply Receipt against Invoice through AutoInvoice Program.
Regards,
Abhishek

I would check to see if you have any corresponding records in ra_interface_distributions_all.
If you are populating ra_interface_distributions_all with gl code combination data, whatever you populate in this table will take precedence over your Auto Accounting rule.
Regards,
James Kim.

Similar Messages

  • Apply Receipts and CM

    Hello all,
    We Have Oracle EBS R12.
    There are many invoices already entered to the application.
    There are more than 1000 Check (Receipts) already entered in the application, also there are 1000 Credit memo's Entered in the application.
    As there are no enough time to apply them one by one, Is there any thing (request, API ...) that can help in Applying those Receipts with invoices, and those
    Credit Memo's with invoices.
    As for applying receipts with invoice i tried the following procedure but it there are problem when applying 1 receipt with more than invoices, example
    receipt = 7000, invoice1=5000, invoice2= 3000. It apply 5000 with invoice1, but the remaining = 2000 doesn't apply with invoice2.
    CREATE OR REPLACE PROCEDURE xx_ar_receipt_apply_b (
    cr_rec_id IN NUMBER,
    rec_amount IN NUMBER,
    rec_no IN VARCHAR2,
    cus_id IN NUMBER
    AS
    l_return_status VARCHAR2 (1);
    l_installment NUMBER;
    l_msg_count NUMBER;
    l_msg_data VARCHAR2 (240);
    cash_receipt_id NUMBER;
    inv_no NUMBER;
    inv_date DATE;
    inv_amount NUMBER;
    new_amt NUMBER;
    rec_amt NUMBER;
    payment_id NUMBER;
    --- Define cursor c ---------
    CURSOR c
    IS
    SELECT ct.trx_number inv_no, rac.amount_due_remaining inv_amount,
    rac.payment_schedule_id payment_id, ct.trx_date inv_date,
    rac.terms_sequence_number l_installment
    FROM ar_payment_schedules_all rac, ra_customer_trx_all ct
    WHERE rac.customer_trx_id = ct.customer_trx_id
    AND ct.bill_to_customer_id = cus_id
    AND RAC.CLASS = 'INV'
    AND rac.amount_due_remaining > 0
    ORDER BY ct.trx_date, rac.payment_schedule_id;
    BEGIN
    DBMS_APPLICATION_INFO.set_client_info (102);
    fnd_global.apps_initialize (1374, 20678, 222);
    mo_global.init ('AR');
    mo_global.set_policy_context ('S', 102);
    new_amt := 1000;
    FOR REC_INV IN C
    LOOP
    IF new_amt > REC_INV.inv_amount
    THEN
    BEGIN
    ar_receipt_api_pub.APPLY
    (p_api_version => 1.0,
    p_init_msg_list => fnd_api.g_true,
    p_commit => fnd_api.g_true,
    p_validation_level => fnd_api.g_valid_level_full,
    x_return_status => l_return_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data,
    p_receipt_number => rec_no,
    p_cash_receipt_id => cr_rec_id,
    p_trx_number => REC_INV.inv_no,
    p_amount_applied => REC_INV.inv_amount,
    p_installment => REC_INV.l_installment,
    p_applied_payment_schedule_id => REC_INV.payment_id
    new_amt := new_amt - inv_amount;
    END;
    END IF;
    IF new_amt <= REC_INV.inv_amount
    THEN
    BEGIN
    ar_receipt_api_pub.APPLY
    (p_api_version => 1.0,
    p_init_msg_list => fnd_api.g_true,
    p_commit => fnd_api.g_true,
    p_validation_level => fnd_api.g_valid_level_full,
    x_return_status => l_return_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data,
    p_receipt_number => rec_no,
    p_cash_receipt_id => cr_rec_id,
    p_trx_number => REC_INV.inv_no,
    p_amount_applied => new_amt,
    p_installment => REC_INV.l_installment,
    p_applied_payment_schedule_id => REC_INV.payment_id
    new_amt := 0;
    END;
    END IF;
    IF new_amt = 0
    THEN
    EXIT;
    END IF;
    END LOOP;
    END LOOP;
    END IF;
    arp_standard.disable_debug;
    END;
    Thanks in advance.
    Edited by: 858923 on May 14, 2011 12:56 PM

    how do you create your receipt? if you are using lockbox, you can specify invoice number(s) so that the receipt will be applied to the invoices after creation.

  • Clear Down payment against Vendor Invoice through Automatic Payment Program

    Hi
    We have to adjust vendor invoice against down payment (Advance) made through automatic payment program (F110)
    Please guide us is there any configuration require to consider Down payment transactions during F110 to clear against Vendor Invoice
    Ex :1. Advance payment made through special GL indicator 50K.
    2. Invoice document 75K posted in vendor.
    3. Now we have to clear down payment made (50K) against 75K through F110.
    Regards
    Sreenivasulu

    Hi srinivasulu,
    First u create down payment request through F-47 and define the spl gl indicator for down payment and assign the gl account for down payment gl code..
    Regards,
    Nivas

  • Multiple POs Receipt against a single Receipt as per Supplier Invoice

    Dear All,
    We were using the ERS (Autoinvoice) for suppliers.
    We have a special scenario:
    We send PO to Supplier. and the Supplier send the Goods for Multiple POs in a Single Supplier Invoice.
    The Issue is:
    Can we receive all the Supplier Invoice items (belonging to different POs) in a single receipt. So that we can generate one invoice through ERS, which can be matched against the Supplier invoice.
    Is this possible? If Yes, How can we accomplish this..?
    Please update....
    Many thanks in advance....

    Hi Jeyakanthan,
    Thanks for the reply.
    I have gone thru the "Multiple Goods Receipts for a Single Excise Invoice " in Sap Help Documentation, what I have understood is that we can do multiple Goods Receipt against a Single Invoice. Here in this case we do the Goods Receipt against Purchase Order , do the Invoice Capture for first goods receipt againts Purchase Order and we enter the Invoice Number (say 745, sent by the Vendor) while capturing excise invoice. When the second shipment (against the same PO) comes, we do goods receipt and we refer the "Only Refer Excise Invoice" while doing the goods receipt. Finally after when we have entered all the shipments for the PO, we do the Excise Posting.
    Here in our case we have already posted the Goods Receipt (without entering the Invoice Number in first goods receipt) and now we want to capture & post excise invoice for a Single Excise Invoice (Invoice No. say 745,).
    Please correct me if my understanding is wrong.
    Here we have got two options:
    a. Reverse all the goods receipt & re-enter the goods receipt .
    b. post two separate excise invoice against each goods receipt mentioning dummy excise invoice number like 745-A & 745-B.
    Option a seems difficulty as we will have to reverse all the subsequent goods receipt & transfer posting documents.
    Option b seems legally wrong, as per understanding.
    Request you to please advise.
    Regards
    PK

  • Sales order line with status calcelled picked by auto invoice program

    I cancelled  one line in Sales Order and Shipped remaining lines
    after Ship Confirm process ,I ran workflow background process.
    I am getting cancelled line information to AR interface tables
    when I run Auto invoice amount is sitting in Unearned account
    The status of cancelled line -  Cancelled
    Flow status code is cancelled
    INVOICE_INTERFACE_STATUS_CODE I AM SEEING is YES for that line.
    Why the cancelled Sales order line is picked by auto invoice program?
    Thanks,
    John

    Hi Ivruksh,
    Thanks for the reply, the reference you gave was not actually related to the issue I had, let me put it this way,
    Our Auto Invoice Job is scheduled at midnight, it runs and process only few CM's, rest of them are left behind with out any error message in error tables. Al I can see in the ra_interface_lines_all table is interface_line_id is populated, which shows that the Auto Invoice program has picked all the records but it is processing only few, the rest are left out with out any error message.
    Interestingly, when I tried to run those stuck CM's Individual one by one its gets successfully processed.
    Is anyone faced with similar kind of issue, kindly let me know of any solutions you guys had.
    Thanks in advance.
    Regards
    Srinivas

  • Auto Invoice Program taking too much time : problem with update sql

    Hi ,
    Oracle db version 11.2.0.3
    Oracle EBS version : 12.1.3
    Though we have a SEV-1 SR with oracle we have not been able to find much success.
    We have an auto invoice program which runs many times in the day and its taking too much time since the begining . On troubleshooting we have found one query to be taking too much of the time and seek suggestion on how to tune it.  I am attaching the explain plan for the for same.  Its an update query. Please guide.
    Plan
    UPDATE STATEMENT  ALL_ROWSCost: 0  Bytes: 124  Cardinality: 1 
      50 UPDATE AR.RA_CUST_TRX_LINE_GL_DIST_ALL
      27 FILTER 
      26 HASH JOIN  Cost: 8,937,633  Bytes: 4,261,258,760  Cardinality: 34,364,990 
      24 VIEW VIEW SYS.VW_NSO_1 Cost: 8,618,413  Bytes: 446,744,870  Cardinality: 34,364,990 
      23 SORT UNIQUE  Cost: 8,618,413  Bytes: 4,042,339,978  Cardinality: 34,364,990 
      22 UNION-ALL 
      9 FILTER 
      8 SORT GROUP BY  Cost: 5,643,052  Bytes: 3,164,892,625  Cardinality: 25,319,141 
      7 HASH JOIN  Cost: 1,640,602  Bytes: 32,460,436,875  Cardinality: 259,683,495 
      1 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 154,993  Bytes: 402,499,500  Cardinality: 20,124,975 
      6 HASH JOIN  Cost: 853,567  Bytes: 22,544,143,440  Cardinality: 214,706,128 
      4 HASH JOIN  Cost: 536,708  Bytes: 2,357,000,550  Cardinality: 29,835,450 
      2 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 153,008  Bytes: 1,163,582,550  Cardinality: 29,835,450 
      3 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 307,314  Bytes: 1,193,526,000  Cardinality: 29,838,150 
      5 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_ALL Cost: 132,951  Bytes: 3,123,197,116  Cardinality: 120,122,966 
      21 FILTER 
      20 SORT GROUP BY  Cost: 2,975,360  Bytes: 877,447,353  Cardinality: 9,045,849 
      19 HASH JOIN  Cost: 998,323  Bytes: 17,548,946,769  Cardinality: 180,916,977 
      13 VIEW VIEW AR.index$_join$_027 Cost: 108,438  Bytes: 867,771,256  Cardinality: 78,888,296 
      12 HASH JOIN 
      10 INDEX RANGE SCAN INDEX AR.RA_CUSTOMER_TRX_N15 Cost: 58,206  Bytes: 867,771,256  Cardinality: 78,888,296 
      11 INDEX FAST FULL SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_U1 Cost: 62,322  Bytes: 867,771,256  Cardinality: 78,888,296 
      18 HASH JOIN  Cost: 748,497  Bytes: 3,281,713,302  Cardinality: 38,159,457 
      14 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 154,993  Bytes: 402,499,500  Cardinality: 20,124,975 
      17 HASH JOIN  Cost: 519,713  Bytes: 1,969,317,900  Cardinality: 29,838,150 
      15 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 302,822  Bytes: 716,115,600  Cardinality: 29,838,150 
      16 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 149,847  Bytes: 1,253,202,300  Cardinality: 29,838,150 
      25 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 157,552  Bytes: 5,158,998,615  Cardinality: 46,477,465 
      41 SORT GROUP BY  Bytes: 75  Cardinality: 1 
      40 FILTER 
      39 MERGE JOIN CARTESIAN  Cost: 11  Bytes: 75  Cardinality: 1 
      35 NESTED LOOPS  Cost: 8  Bytes: 50  Cardinality: 1 
      32 NESTED LOOPS  Cost: 5  Bytes: 30  Cardinality: 1 
      29 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 3  Bytes: 22  Cardinality: 1 
      28 INDEX UNIQUE SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_LINES_U1 Cost: 2  Cardinality: 1 
      31 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUSTOMER_TRX_ALL Cost: 2  Bytes: 133,114,520  Cardinality: 16,639,315 
      30 INDEX UNIQUE SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_U1 Cost: 1  Cardinality: 1 
      34 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3  Bytes: 20  Cardinality: 1 
      33 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N6 Cost: 2  Cardinality: 1 
      38 BUFFER SORT  Cost: 9  Bytes: 25  Cardinality: 1 
      37 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3  Bytes: 25  Cardinality: 1 
      36 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N1 Cost: 2  Cardinality: 1 
      49 SORT GROUP BY  Bytes: 48  Cardinality: 1 
      48 FILTER 
      47 NESTED LOOPS 
      45 NESTED LOOPS  Cost: 7  Bytes: 48  Cardinality: 1 
      43 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 4  Bytes: 20  Cardinality: 1 
      42 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N6 Cost: 3  Cardinality: 1 
      44 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N1 Cost: 2  Cardinality: 1 
      46 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3  Bytes: 28  Cardinality: 1 
    As per oracle , they had suggested multiple patches but that has not been helpful. Please suggest how do i tune this query. I dont have much clue of query tuning.
    Regards

    Hi Paul, My bad. I am sorry I missed it.
    Query as below :
    UPDATE RA_CUST_TRX_LINE_GL_DIST LGD SET (AMOUNT, ACCTD_AMOUNT) = (SELECT /*+ index(rec1 RA_CUST_TRX_LINE_GL_DIST_N6) ordered */ NVL(LGD.AMOUNT, 0) - ( SUM(LGD2.AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE, 1, 0) * CTL.EXTENDED_AMOUNT ) ), NVL(LGD.ACCTD_AMOUNT, 0) - ( SUM(LGD2.ACCTD_AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE, 1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT * NVL(CT.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT * NVL(CT.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) ) FROM RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX CT, RA_CUST_TRX_LINE_GL_DIST LGD2, RA_CUST_TRX_LINE_GL_DIST REC1 WHERE CTL.CUSTOMER_TRX_LINE_ID = LGD2.CUSTOMER_TRX_LINE_ID AND CTL.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND LGD.CUSTOMER_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND LGD2.ACCOUNT_SET_FLAG = 'N' AND REC1.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND REC1.ACCOUNT_CLASS = 'REC' AND REC1.LATEST_REC_FLAG = 'Y' AND NVL(LGD.GL_DATE, TO_DATE( 2415021, 'J') ) = NVL(LGD2.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY CTL.CUSTOMER_TRX_LINE_ID, REC1.GL_DATE, CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, CT.EXCHANGE_RATE ), PERCENT = (SELECT /*+ index(rec2 RA_CUST_TRX_LINE_GL_DIST_N6) */ DECODE(LGD.ACCOUNT_CLASS || LGD.ACCOUNT_SET_FLAG, 'SUSPENSEN', LGD.PERCENT, 'UNBILLN', LGD.PERCENT, 'UNEARNN', LGD.PERCENT, NVL(LGD.PERCENT, 0) - ( SUM(NVL(LGD4.PERCENT, 0)) - DECODE(REC2.GL_DATE, NVL(LGD.GL_DATE, REC2.GL_DATE), 100, 0) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD4, RA_CUST_TRX_LINE_GL_DIST REC2 WHERE LGD.CUSTOMER_TRX_LINE_ID = LGD4.CUSTOMER_TRX_LINE_ID AND REC2.CUSTOMER_TRX_ID = LGD.CUSTOMER_TRX_ID AND REC2.CUSTOMER_TRX_ID = LGD4.CUSTOMER_TRX_ID AND REC2.ACCOUNT_CLASS = 'REC' AND REC2.LATEST_REC_FLAG = 'Y' AND LGD4.ACCOUNT_SET_FLAG = LGD.ACCOUNT_SET_FLAG AND DECODE(LGD4.ACCOUNT_SET_FLAG, 'Y', LGD4.ACCOUNT_CLASS, LGD.ACCOUNT_CLASS) = LGD.ACCOUNT_CLASS AND NVL(LGD.GL_DATE, TO_DATE( 2415021, 'J') ) = NVL(LGD4.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY REC2.GL_DATE, LGD.GL_DATE ), LAST_UPDATED_BY = :B1 , LAST_UPDATE_DATE = SYSDATE WHERE CUST_TRX_LINE_GL_DIST_ID IN (SELECT /*+ index(rec3 RA_CUST_TRX_LINE_GL_DIST_N6) */ MIN(DECODE(LGD3.GL_POSTED_DATE, NULL, LGD3.CUST_TRX_LINE_GL_DIST_ID, NULL) ) FROM RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX T, RA_CUST_TRX_LINE_GL_DIST LGD3, RA_CUST_TRX_LINE_GL_DIST REC3 WHERE T.REQUEST_ID = :B5 AND T.CUSTOMER_TRX_ID = CTL.CUSTOMER_TRX_ID AND (CTL.LINE_TYPE IN ( 'TAX','FREIGHT','CHARGES','SUSPENSE' ) OR (CTL.LINE_TYPE = 'LINE' AND CTL.ACCOUNTING_RULE_ID IS NULL )) AND LGD3.CUSTOMER_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND LGD3.ACCOUNT_SET_FLAG = 'N' AND REC3.CUSTOMER_TRX_ID = T.CUSTOMER_TRX_ID AND REC3.ACCOUNT_CLASS = 'REC' AND REC3.LATEST_REC_FLAG = 'Y' AND NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) = DECODE(:B4 , 'INV', -1, 'REGULAR_CM', T.PREVIOUS_CUSTOMER_TRX_ID, NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) ) GROUP BY CTL.CUSTOMER_TRX_LINE_ID, LGD3.GL_DATE, REC3.GL_DATE, CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, T.EXCHANGE_RATE HAVING ( SUM(NVL(LGD3.AMOUNT, 0)) <> CTL.EXTENDED_AMOUNT * DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) OR SUM(NVL(LGD3.ACCTD_AMOUNT, 0)) <> DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT * NVL(T.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT * NVL(T.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) UNION SELECT /*+ index(rec5 RA_CUST_TRX_LINE_GL_DIST_N6) INDEX (lgd5 ra_cust_trx_line_gl_dist_n6) index(ctl2 ra_customer_trx_lines_u1) */ TO_NUMBER( MIN(DECODE(LGD5.GL_POSTED_DATE||LGD5.ACCOUNT_CLASS|| LGD5.ACCOUNT_SET_FLAG, 'REVN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'REVY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNEARNY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNBILLY', LGD5.CUST_TRX_LINE_GL_DIST_ID, NULL ) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD5, RA_CUST_TRX_LINE_GL_DIST REC5, RA_CUSTOMER_TRX_LINES CTL2, RA_CUSTOMER_TRX T WHERE T.REQUEST_ID = :B5 AND T.CUSTOMER_TRX_ID = REC5.CUSTOMER_TRX_ID AND CTL2.CUSTOMER_TRX_LINE_ID = LGD5.CUSTOMER_TRX_LINE_ID AND REC5.CUSTOMER_TRX_ID = LGD5.CUSTOMER_TRX_ID AND REC5.ACCOUNT_CLASS = 'REC' AND REC5.LATEST_REC_FLAG = 'Y' AND (CTL2.LINE_TYPE IN ( 'TAX','FREIGHT','CHARGES','SUSPENSE') OR (CTL2.LINE_TYPE = 'LINE' AND (CTL2.ACCOUNTING_RULE_ID IS NULL OR LGD5.ACCOUNT_SET_FLAG = 'Y' ))) GROUP BY LGD5.CUSTOMER_TRX_LINE_ID, LGD5.GL_DATE, REC5.GL_DATE, LGD5.ACCOUNT_SET_FLAG, DECODE(LGD5.ACCOUNT_SET_FLAG, 'N', NULL, LGD5.ACCOUNT_CLASS) HAVING SUM(NVL(LGD5.PERCENT, 0)) <> DECODE( NVL(LGD5.GL_DATE, REC5.GL_DATE), REC5.GL_DATE, 100, 0) )
    I understand that this could be a seeded query but my attempt is to tune it.
    Regards

  • Multiple Goods Receipts Against Same Excise Invoice

    All SAP Gurus,
    We are having a scenario in which we need to do Multiple Goods Receipts Against Same Excise Invoice.
    How it can be done?
    Regards,

    During first GR in the excise header tab select "Capture excise amount".
    In the excise item tab enter in the EI quantity the total qty in invoice. In the quantity tab enter the qty which is to be received.
    Post the gr.
    During second gr in the excise header tab select "Only refer excise invoice".

  • Applying an USD invoice to an EURO Credit Memo; for receipt applications

    Hello,
    When trying to apply a USD invoice to a credit memo which is in EUROs it does not allow. If I have the credit memo and invoice in the same currency it works fine. Could anyone help me on this?
    Navigation: AR Manager responsibility;
    Transaction screen(Credit Memo)->Action(Menu)->Application(Option)
    Thanks.
    Siva

    Hi Nagesh,
    .1.) Is it possible for an AR Invoice to have more than one AR Credit Memo?
    The credit memo is the clearing document for the invoice and for the returns. If the goods were delivered to the customer and an invoice has already been created, you can partially or completely reverse the transaction by creating a credit memo
    *When I partially reversed an amount (and not the inventory), it also reversed the inventory. What I need is to reduced only the amount of the AR invoice. At some point in time, another AR Credit Memo is needed again for the same AR Invoice to further reduce its amount. Is this possible?
    Using the AR Credit Memo by Service is definitely not what my client is looking for because they need the actual price per item for the AR invoice.*
    2.) Is it possible for a "PAID" AR Invoice to still have a AR Credit Memo?
    I dont think you can do this. Simply because payment aginst the Invoice has been made. An A/P invoice needs to be raised again.
    I need to think of a workaround to do this because my client usually accepts expiring items after a few years an item was sold and paid. Any suggestion?
    3.) Lastly, is it possible for an AR Invoice to reduce its amount "PER ITEM" by AR Credit Memo?
    Yes because partial settlement is possible
    How to go about it? I need to reduce ONLY the AMOUNT of the item in AR Invoice but the item was NOT ACTUALLY RETURNED.
    Many thanks,

  • Dropship_PO Receipt & AR Invoice in back date

    The Business requirement is
    The OU gets the Bill of Lading/Air Way Bill document offline after some time let's say within 10 days of actual Bill of Lading/Airway Bill Date. We are executing Dropshipment process. The PO receipt to be done on back date, which is the actual Bill of Lading/Air Way Bill date. The AR Invoice to be raised on the same backdated actual Bill of Lading/Air Way Bill date.
    Example:
    Actual Bill of Lading/Air Way Bill date: 25 Apr 2012
    The documents are received on date: 05 May 2012
    Dropship PO Receipt Date: 25 Apr 2012 (We will execute backdated receipt in system, on 05 May 2012 the receipt date will be entered as 25 Apr 2012)
    AR Invoice Date (after Auto-import program): 25 Apr 2012
    We are able to get the desired result in the open period. Just wondering, how to go about the issue when periods are closed for the last month (April).
    Read that, the profile option INV:Transaction Date Validation doesn't work in case of PO receipts. Kindly advise.
    With Best Regards,
    Nirabh Nayan

    Hi,
    Once a Inv a/c period is closed, the period close process permanantly closes the period and system will not let performing any further transactions in that closed period. period can not be reopened as well.
    If you know that there are pending transactions to be made in the last month of a/c year, As an exception you can keep the last period open till all the transactions are entered into the system. Normally this is the general process followed across. Accounting period is not closed sharply on the final day of the acct period.
    If you are worried about std cost update and want to have updated costs for the transactions done in new a/c year, You can enter the cut off date in the inv org parameters as the last date of previous accounting period so that the transactions of the first month of new accounting period ( in your case May ) does not get costed. Once you close the previous period, you can update the cost thru std cost update and then release the cut off date for the new period transactions to get costed at updated cost.
    Prabhu Chepuri

  • Backdated PO receipt and Invoice date in closed periods_Dropshipment

    The Business requirement is
    The OU gets the Bill of Lading/Air Way Bill document offline after some time let's say within 10 days of actual Bill of Lading/Airway Bill Date. We are executing Dropshipment process. The PO receipt to be done on back date, which is the actual Bill of Lading/Air Way Bill date. The AR Invoice to be raised on the same backdated actual Bill of Lading/Air Way Bill date.
    Example:
    Actual Bill of Lading/Air Way Bill date: 25 Apr 2012
    The documents are received on date: 05 May 2012
    Dropship PO Receipt Date: 25 Apr 2012 (We will execute backdated receipt in system, on 05 May 2012 the receipt date will be entered as 25 Apr 2012)
    AR Invoice Date (after Auto-import program): 25 Apr 2012
    We are able to get the desired result in the open period. Just wondering, how to go about the issue when periods are closed for the last month (April).
    Heard that, the profile option INV:Transaction Date Validation doesn't work in case of PO receipts. Kindly advise.
    With Best Regards,
    Nirabh Nayan

    Hi,
    Once a Inv a/c period is closed, the period close process permanantly closes the period and system will not let performing any further transactions in that closed period. period can not be reopened as well.
    If you know that there are pending transactions to be made in the last month of a/c year, As an exception you can keep the last period open till all the transactions are entered into the system. Normally this is the general process followed across. Accounting period is not closed sharply on the final day of the acct period.
    If you are worried about std cost update and want to have updated costs for the transactions done in new a/c year, You can enter the cut off date in the inv org parameters as the last date of previous accounting period so that the transactions of the first month of new accounting period ( in your case May ) does not get costed. Once you close the previous period, you can update the cost thru std cost update and then release the cut off date for the new period transactions to get costed at updated cost.
    Prabhu Chepuri

  • Mistakenly reversed goods receipt after invoice posted

    Hi experts,
    I already post this question in EAM forum, but moved to here as I think I will get more useful replies.
    I have a PO that was goods receipted and invoiced receipted. Later on, the GR was reversed, and now that entry needs to be reverse... We're having a negative value in our reports that should not be there.
    What would be the way to fix this? Is it OK that the goods receipted may be reversed after invoice receipted.. i.e. after an invoice has been posted? In Tx. OMBZ the Mvt. 102 has "RevGR desp. IR" unchecked.
    Kind Regards,
    Andres.
    Original thread: Reverse goods receipt after invoice posted.

    Just do a GR again for the PO and this should fix your problem. The original document and reversal documents will remain there with another GR document against PO.
    Unless the payment against the invoice hasnt been made, your preceding documents can be changed. Once the payment has been made, you should not be able to change any preceding document.
    Edited by: Afshad Irani on May 31, 2010 9:08 AM

  • Problem with the Posting Date of Goods Receipt or Invoice Receipt for PO

    Hi All,
    I am working on 2LIS_02_SCL - Purchasing Data (Schedule Line Level),
    For our report, we should get the scheduled PO quantity,actual PO qty, Scheduled date and actual date in the report.
    we are getting all these fields from the above extractor...
    For a PO which is opened (Delivery Completion indicator not set) - we where getting all field as in ECC(ME23N)
    But for a PO which is finished(Delivery completion indicator is set) - we where are getting actual GR qty,planned qty,planned or scheduled date at schedule line level.But we are not getting the Posting Date of Goods Receipt or Invoice Receipt for PO from history EKBE for all the schedule line.
    ex:
    for open PO
    PO num         item num   schedule line    Planned date   actual date  difference  actual qty  planned qty  difference
    450002432   10                        1              01/10/2011    02/10/2011       1 day          100             100             0
                                                     2              02/10/2011    04/10/2011       2 days        200             400            200
                                                     3              03/10/2011    07/10/2011       4 days         300            300              0
    For the same PO when it is Finished or completed(Delivery completion indicator is set)
    PO num         item num   schedule line    Planned date   actual date  difference  actual qty  planned qty  difference
    450002432   10                        1              01/10/2011    07/10/2011       6 day          100             100             0
                                                     2              02/10/2011    07/10/2011       5 days        200             400            200
                                                                    03/10/2011    07/10/2011       4 days         300            300              0
    for all the schedule line its displaying the last posting date(i think its taking from EKKO table)
    Is there any possibility to get that posting date history ....

    You can have multiple receipts against a PO schedule line, but this extractor is not meant to go to that level of granularity.  Please try to use 2lis_02_sgr instead which provides goods receipts per PO schedule line.

  • Good receipt without Invoice

    Hi all
    Let me know about Report for Goods receipt without Invoice for Purchase order? ie. PO pending for Invoice?
    If anybody a report, pls send it to me. I have used 101-102, 105-106 movement types?
    So any one send that reports?

    Hi Muthu
    I am sending you one source code regarding the Goods receipt without invoice.
    Pls reward pts if help.
    Regards
    Deepanker.
    FUNCTION zrfc_vcs_get_goodsreceipt.
    *& Program Name    : ZRFC_VCS_GET_GOODSRECEIPT                        *
    *& Title           : Function Module for getting the GOODSRECEIPT     *
    *&                     Details                                        *
    *& Author          : M.Jayasree                                         *
    *& Create Date     : 21/03/2007                                       *
    *& Logical DB      : None                                             *
    *& Program Type    : FM                                               *
    *& SAP Release     : 4.6                                              *
    *& Description     : This is a program used for retrieving the        *
    *&                     GOODSRECEIPT Details.                          *
    *& REVISION LOG                                                       *
    *& LOG#               DATE                   AUTHOR                   *
    *& 0000               21/03/2007            Jayasree.M                *
                                 Tables                                  *
    TABLES : mkpf,komv,mseg.
                            Data declarations                            *
      DATA: lv_suc_date       TYPE d,
            lv_suc_time       TYPE t,
            lv_fileloc        TYPE char40,
            lv_filename       TYPE char40,
            lv_date           TYPE d,
            lv_time           TYPE t,
            lv_filepath       TYPE string,
            lv_error          TYPE char50,
            lv_fileloc1       TYPE char20,
            lv_filename1      TYPE char40,
            lv_filepath1      TYPE string,
            lv_value          TYPE zvcsconfig-zvalue,
            lv_value_h        TYPE zvcsconfig-zvalue,
            lv_value1         TYPE zvcsconfig-zvalue,
            lv_fileloc_d      TYPE char40,
            lv_filename_d     TYPE char40,
            lv_filepath_d     TYPE string,
            lv_value_d        TYPE zvcsconfig-zvalue,
            lv_fileloc_d1     TYPE char40,
            lv_filename_d1    TYPE char40,
            lv_filepath_d1    TYPE string,
            lv_value_d1       TYPE zvcsconfig-zvalue,
            lv_taxamt         TYPE bseg-wrbtr,
            lv_elikz          TYPE mseg-elikz,
            lv_waers          TYPE mseg-waers,
            lv_emlif          TYPE mseg-emlif,
            lv_dmbtr          TYPE mseg-dmbtr,
            lv_vkwrt          TYPE mseg-vkwrt,
            lv_menge_acc      TYPE mseg-menge,
            lv_ebeln          TYPE ebeln,
            lv_lifnr          TYPE ekko-lifnr,
            lv_wkurs          TYPE ekko-wkurs,
            lv_ekgrp          TYPE ekko-ekgrp,
            lv_bsart          TYPE ekko-bsart,
            lv_inco1          TYPE ekko-inco1,
            lv_land1          TYPE lfa1-land1,
            lv_eknam          TYPE eknam,
            lv_knumv           TYPE ekko-knumv,
            lv_lifnr_t        TYPE komv-lifnr,
            lv_kwert          TYPE kwert,
            lv_changenr       TYPE cdchangenr,
            lv_flag           TYPE c,
            lv_sum_a          TYPE kwert,
            lv_sum_a1         TYPE kwert,
            lv_sum_a1_a       TYPE kwert,
            lv_sum_a_a        TYPE kwert,
            lv_count          TYPE n,
            lv_wempf          TYPE wempf,
            lv_add            TYPE kwert,
            lv_werks_p        TYPE werks_d,
            lv_maktx          TYPE maktx,
            lv_wemng          TYPE wemng,
            lv_ebelp_b        TYPE ebelp,
            lv_erfmg_b        TYPE erfmg,
            lv_menge_r        TYPE menge_d,
            lv_remng          TYPE remng,
            lv_rewrt          TYPE rewrt,
            lv_wrbtr          TYPE wrbtr,
            lv_mwskz          TYPE mwskz,
            lv_wmwst          TYPE wmwst,
            lv_lifnr_sc       TYPE lifnr,
            lv_pstyp          TYPE pstyp,
            lv_menge          TYPE menge_d,
            lv_budat          TYPE budat,
            lv_waers_bc       TYPE waers,
            lv_netwr_tbv      TYPE netwr,
            lv_wrbtr_ai       TYPE wrbtr,
            lv_sum            TYPE rewrt,
            lv_netpr_bv       TYPE netpr,
            lv_etenr          TYPE etenr,
            lv_bstyp          TYPE bstyp,
            lv_grtxt          TYPE grtxt,
            lv_ebelp          TYPE ebelp,
            lv_basicv         TYPE netwr,
            lv_smbln          TYPE mseg-smbln,
            lv_waers_c        TYPE ekko-waers,
            lv_kwert_a        TYPE konv-kwert,
            lv_knumv_a        TYPE ekko-knumv,
            lv_knumv_a_a      TYPE ekko-knumv,
            lv_netwr_a        TYPE ekpo-netwr,
            lv_netwr_a_a      TYPE ekpo-netwr,
            lv_kwert_a1       TYPE konv-kwert,
            lv_knumv_a1       TYPE ekko-knumv,
            lv_netwr_a1       TYPE ekpo-netwr,
            lv_netwr_a1_a     TYPE ekpo-netwr,
            lv_knumv_a1_a     TYPE ekko-knumv,
            lv_sum_b          TYPE konv-kwert,
            lv_fwnav          TYPE bset-fwste,
            lv_sum_b_a        TYPE konv-kwert,
            lv_netpr_a        TYPE ekpo-netpr,
            lv_erfmg_add      TYPE mseg-erfmg,
            lv_erfmg_add_a    TYPE mseg-erfmg,
            lv_netpr_a_a      TYPE ekpo-netpr,
            lv_netpr_a1       TYPE ekpo-netpr,
            lv_netpr_a1_a     TYPE ekpo-netpr,
            lv_erfmg_add1     TYPE mseg-erfmg,
            lv_erfmg_add1_a   TYPE mseg-erfmg,
            lv_menge_inv      TYPE menge_d,
            lv_wrbtr_inv      TYPE wrbtr,
            lv_netpr_tax      TYPE netpr,
            lv_kwert_total    TYPE konv-kwert,
            lv_kwert_total_a  TYPE konv-kwert,
            lv_kwert_total_r  TYPE konv-kwert,
            lv_kwert_total_r_a   TYPE konv-kwert,
            lv_bukrs_tax      TYPE bukrs,
            lv_waers_tax      TYPE waers,
            lv_erfmg_ret      TYPE mseg-erfmg,
            lv_server         TYPE tsle4-server,
            lv_bwart_rev      TYPE mseg-bwart,
            lv_erfmg_rev1     TYPE mseg-erfmg,
            lv_bukrs          TYPE bukrs,
            lv_land1_t        TYPE land1,
            lv_kalsm          TYPE kalsm,
            lv_text1          TYPE text1,
            lv_netpr_tax1     TYPE netpr,
            lv_netpr_tax1_r   TYPE netpr,
            lv_mwskz_r        TYPE mwskz,
            lv_mwskz_tax      TYPE mwskz,
            lv_taxamt_t       TYPE bseg-wrbtr,
            lv_tax_tot        TYPE netpr,
            lv_fwnav_tax      TYPE bset-fwste,
            lv_taxamt_t_r     TYPE bseg-wrbtr,
            lv_tax_tot_r      TYPE netpr,
            lv_fwnav_tax_r    TYPE bset-fwste,
            lv_bukrs_tax_r    TYPE bukrs,
            lv_waers_tax_r    TYPE waers,
            lv_mblnr_rev      TYPE mblnr,
            lv_erfmg_rej      TYPE erfmg,
            lv_budat_m        TYPE budat,
            lv_bldat_m        TYPE bldat,
            lv_year1(4),
            lv_mth1(2),
            lv_day1(2),
            lv_base           TYPE waers,
            lv_base_t         TYPE waers,
            lv_waers_t        TYPE waers,
            lv_wkurs_b        TYPE wkurs,
            lv_stblg_re       TYPE stblg,
            lv_belnr          TYPE belnr_d.
                            Structures                                   *
    Structures for storing the output HEADER file
      TYPES: BEGIN OF t_fintab1,
                mblnr(30)     TYPE c,   "GRNumber
                ebeln(20)     TYPE c,   "PONumber
                changenr(38)  TYPE c,   "POAmendmentNumber
                lifnr(22)     TYPE c,   "SupplierCode     
                adr_code(20)  TYPE c,   "AddressCode
                plt_code(22)  TYPE c,   "PlantCode
                land1(3)      TYPE c,   "CountryCode
                elikz(25)     TYPE c,   "GoodsReceiptStatus     
                waers(3)      TYPE c,   "CurrencyCode     
                wkurs(34)     TYPE c,   "ExchRateValue
                server(100)   TYPE c,   "ERPSource
                ekgrp(22)     TYPE c,   "BuyerCode     
                eknam(240)    TYPE c,   "BuyerName     
                bldat(20)     TYPE c,   "GoodsReceiptDate     
                bsart(25)     TYPE c,   "DocType     
                bsart_c(50)   TYPE c,   "ContractType
                asnno(8)      TYPE c,   "ASNNo
                asndate(20)   TYPE c,   "ASNDate
                xblnr(16)     TYPE c,   "DCNo     
                dc_date(20)   TYPE c,   "DCDate
                bktxt(25)     TYPE c,   "PreGRNo
                pre_date(20)  TYPE c,   "PreGRDate
                emlif(22)     TYPE c,   "ReceiverCode
                re_name(240)  TYPE c,   "ReceiverName     
                lifnr_t(10)   TYPE c,   "ThreePLCode
                inco1(8)      TYPE c,   "CommercialTerms
                dmbtr(34)     TYPE c,   "TotalValue     
                vkwrt(34)     TYPE c,   "TotalBasicValue     
                kwert(34)     TYPE c,   "TotalAdditionalCharges
                base(3)       TYPE c,   "BaseCurrencyCode     
                   END OF t_fintab1.
    Structures for storing the output HEADER for STATUS file
      TYPES: BEGIN OF t_fintab_s,
                mblnr(30)     TYPE c,   "GRNumber
                ebeln(20)     TYPE c,   "PONumber
                changenr(38)  TYPE c,   "POAmendmentNumber
                lifnr(22)     TYPE c,   "SupplierCode     
                adr_code(20)  TYPE c,   "AddressCode
                plt_code(22)  TYPE c,   "PlantCode
                land1(3)      TYPE c,   "CountryCode
                elikz(25)     TYPE c,   "GoodsReceiptStatus     
                waers(3)      TYPE c,   "CurrencyCode     
                wkurs(34)     TYPE c,   "ExchRateValue
                server(100)   TYPE c,   "ERPSource
                ekgrp(22)     TYPE c,   "BuyerCode     
                eknam(240)    TYPE c,   "BuyerName     
                bldat(20)     TYPE c,   "GoodsReceiptDate     
                bsart(25)     TYPE c,   "DocType     
                bsart_c(50)   TYPE c,   "ContractType
                asnno(8)      TYPE c,   "ASNNo
                asndate(20)   TYPE c,   "ASNDate
                xblnr(16)     TYPE c,   "DCNo     
                dc_date(20)   TYPE c,   "DCDate
                bktxt(25)     TYPE c,   "PreGRNo
                pre_date(20)  TYPE c,   "PreGRDate
                emlif(22)     TYPE c,   "ReceiverCode
                re_name(240)  TYPE c,   "ReceiverName     
                lifnr_t(10)   TYPE c,   "ThreePLCode
                inco1(8)      TYPE c,   "CommercialTerms
                dmbtr(34)     TYPE c,   "TotalValue     
                vkwrt(34)     TYPE c,   "TotalBasicValue     
                kwert(34)     TYPE c,   "TotalAdditionalCharges
                smbln   TYPE mseg-smbln,"For reversal status
             END OF t_fintab_s.
    Structures for storing the output DETAIL file
      TYPES: BEGIN OF t_fintab2,
                zeile(22)     TYPE c,   "GRLineNumber
              mblnr(30)     TYPE c,   "GRNumber
                server(100)   TYPE c,   "ERPSource       
                ebelp(38)     TYPE c,   "POLineNumber
                ebeln(20)     TYPE c,   "PONumber
                changenr(38)  TYPE c,   "POAmendmentNumber
                scheculenumber(38) TYPE c, "ScheduleNumber
                meins(25)     TYPE c,   "UOM
                lgort(22)     TYPE c,   "WarehouseCode
                waers(3)      TYPE c,   "Currency Code
                matnr(40)     TYPE c,       "PartNumber
                 maktx(240)    TYPE c,   "PartDescription           
              kostl(22)     TYPE c,   "CostCenterCode
              bukrs(15)     TYPE c,       "CompanyCode
                menge_i(22)   TYPE c,   "InspectedQuantity
                wemng(22)     TYPE c,   "GRRecievedQuantity     
                menge_a(22)   TYPE c,   "GRAcceptedQuantity          
              menge_g(22)   TYPE c,   "GRRejectedQuantity
                grrework(22)  TYPE c,       "GRReworkQuantity               
              menge_r(22)   TYPE c,       "GRReturnedQuantity
                grund(25)     TYPE c,   "RejnReason     
                remng(22)     TYPE c,   "QuantityInvoiced
                rewrt(34)     TYPE c,       "AmountInvoiced
                wrbtr(34)     TYPE c,       "AmountPaid
                mwskz_t(100)  TYPE c,   "TaxCode
                wmwst_w(34)   TYPE c,   "TaxValue
                lifnr_sc(22)  TYPE c,   "SupplierCode
                adr_code(20)  TYPE c,       "AddressCode     
                taxdiscount(34) TYPE c, "TaxChargeDiscount
                mwskz_v(22)   TYPE c,   "VATCode
                wmwst_v(34)   TYPE c,   "VATValue
                vatoption(1)  TYPE c,   "VATOption
                kwert_i(34)   TYPE c,   "InspectionCost
                pstyp(25)     TYPE c,   "IssueType
                pendingschdqty(22) TYPE c, "PendingSchdQuantity
                menge_o(22)   TYPE c,   "POOrderQty
                erfmg(22)     TYPE c,   "MovedQty
                tobemovedqty(22)   TYPE c, "TobeMovedQty
                balanceqty(22)     TYPE c, "BalanceQty
                netpr_bv(34)  TYPE c,   "BasicValue
                kwert_a(34)   TYPE c,   "AdditionalCharges
                budat_i(20)   TYPE c,   "InspectionDate
                budat_m(20)   TYPE c,   "MovedDate
                elikz(25)     TYPE c,   "GRItemStatus
                budat_g(20)   TYPE c,   "GRRecdDate
               END OF t_fintab2.
    Structures for storing the MKPF
      TYPES: BEGIN OF t_mkpf,
                 mblnr   TYPE mkpf-mblnr,
                 budat   TYPE mkpf-budat,
                 xblnr   TYPE mkpf-xblnr,
                 bldat   TYPE mkpf-bldat,
                END OF t_mkpf.
    Structures for storing the MSEG
      TYPES: BEGIN OF t_mseg,
                matnr   TYPE mseg-matnr,
                zeile   TYPE mblpo,
                menge   TYPE menge_d,
                meins   TYPE mseg-meins,
                lgort   TYPE mseg-lgort,
                mblnr   TYPE mseg-mblnr,
                bukrs   TYPE mseg-bukrs,
                ebeln   TYPE bstnr,
                ebelp   TYPE ekpo-ebelp,
                kostl   TYPE mseg-kostl,
                waers   TYPE mseg-waers,
                erfmg   TYPE mseg-erfmg,
                vkwrt   TYPE mseg-vkwrt,
                elikz   TYPE mseg-elikz,
                insmk   TYPE mseg-insmk,
                bwart   TYPE mseg-bwart,
                grund   TYPE mseg-grund,
             END OF t_mseg.
    Structures for storing the log file
      TYPES: BEGIN OF t_logfile,
              desc    TYPE char50,
               END OF t_logfile.
    Structures for storing the RSEG file
      TYPES: BEGIN OF t_rseg,
              menge    TYPE menge_d,
              wrbtr    TYPE wrbtr,
             END OF t_rseg.
      TYPES: BEGIN OF t_add,
              ebeln    TYPE ebeln,
             END OF t_add.
      TYPES: BEGIN OF t_add1,
              ebeln    TYPE ebeln,
              ebelp    TYPE ebelp,
             END OF t_add1.
      TYPES: BEGIN OF t_total,
              dmbtr    TYPE dmbtr,
             END OF t_total.
      TYPES: BEGIN OF t_total1,
              dmbtr    TYPE dmbtr,
             END OF t_total1.
      TYPES: BEGIN OF t_basictotal,
              erfmg    TYPE erfmg,
             END OF t_basictotal.
      TYPES: BEGIN OF t_basic,
              ebeln    TYPE ebeln,
              ebelp    TYPE ebelp,
              erfmg    TYPE erfmg,
             END OF t_basic.
      TYPES: BEGIN OF t_zcond,
              zcond1   TYPE kscha,
              zcond2   TYPE kscha,
              zcond3   TYPE kscha,
              zcond4   TYPE kscha,
              zcond5   TYPE kscha,
              zcond6   TYPE kscha,
              zcond7   TYPE kscha,
              zcond8   TYPE kscha,
              zcond9   TYPE kscha,
              zcond10  TYPE kscha,
             END OF t_zcond.
      TYPES: BEGIN OF t_add_k,
              kwert    TYPE konv-kwert,
             END OF t_add_k.
      TYPES: BEGIN OF t_tax,
              ebeln   TYPE mseg-ebeln,
              ebelp   TYPE mseg-ebelp,
              menge   TYPE mseg-menge,
             END OF t_tax.
      TYPES: BEGIN OF t_mseg_m,
              mblnr   TYPE mblnr,
              elikz   TYPE elikz,
              wempf   TYPE wempf,
              ebeln   TYPE ebeln,
              ebelp   TYPE ebelp,
              werks   TYPE werks,
              erfmg   TYPE erfmg,
              bwart   TYPE bwart,
              bukrs   TYPE bukrs,
              lfbnr   TYPE lfbnr,
             END OF t_mseg_m.
      TYPES: BEGIN OF t_erfmg,
              erfmg   TYPE erfmg,
             END OF t_erfmg.
                              Internal tables                            *
      DATA: i_zrfcinfo    LIKE zrfcinfo OCCURS 0 WITH HEADER LINE,
            i_fintab1     TYPE TABLE OF t_fintab1 WITH HEADER LINE,
            i_fintab_s    TYPE TABLE OF t_fintab_s WITH HEADER LINE,
            i_fintab2     TYPE TABLE OF t_fintab2 WITH HEADER LINE,
            i_mkpf        TYPE TABLE OF t_mkpf WITH HEADER LINE,
            i_mseg        TYPE TABLE OF t_mseg WITH HEADER LINE,
            i_rseg        TYPE TABLE OF t_rseg WITH HEADER LINE,
            i_total       TYPE TABLE OF t_total WITH HEADER LINE,
            i_basictotal  TYPE TABLE OF t_basictotal WITH HEADER LINE,
            i_erfmg       TYPE TABLE OF t_erfmg WITH HEADER LINE,
            i_erfmg1      TYPE TABLE OF t_erfmg WITH HEADER LINE,
            i_basic       TYPE TABLE OF t_basic WITH HEADER LINE,
            i_total1      TYPE TABLE OF t_total1 WITH HEADER LINE,
            i_tax         TYPE TABLE OF t_tax WITH HEADER LINE,
            i_tax_r       TYPE TABLE OF t_tax WITH HEADER LINE,
            i_mseg_m      TYPE TABLE OF t_mseg_m WITH HEADER LINE,
            i_add         TYPE TABLE OF t_add1 WITH HEADER LINE,
            i_add_a       TYPE TABLE OF t_add1 WITH HEADER LINE,
            i_add1        TYPE TABLE OF t_add1 WITH HEADER LINE,
            i_zcond       TYPE TABLE OF t_zcond  WITH HEADER LINE,
            i_zcond_r     TYPE TABLE OF t_zcond  WITH HEADER LINE,
            i_add_cond    TYPE TABLE OF t_add_k  WITH HEADER LINE,
            i_add_cond_r  TYPE TABLE OF t_add_k    WITH HEADER LINE,
            i_add_cond_r_a  TYPE TABLE OF t_add_k    WITH HEADER LINE,
            i_zcond_a     TYPE TABLE OF t_zcond  WITH HEADER LINE,
            i_add_cond_a  TYPE TABLE OF t_add_k  WITH HEADER LINE,
            i_add1_a      TYPE TABLE OF t_add1 WITH HEADER LINE,
            i_zcond_r_a   TYPE TABLE OF t_zcond  WITH HEADER LINE,
            i_logfile     TYPE TABLE OF t_logfile WITH HEADER LINE,
            i_fintab1_h   TYPE TABLE OF t_fintab1 WITH HEADER LINE,
            i_fintab2_h   TYPE TABLE OF t_fintab2 WITH HEADER LINE.
      DATA: BEGIN OF i_mwdat OCCURS 0.
              INCLUDE STRUCTURE rtax1u15.
      DATA: END OF i_mwdat.
      DATA: BEGIN OF i_mwdat_t OCCURS 0.
              INCLUDE STRUCTURE rtax1u15.
      DATA: END OF i_mwdat_t.
      DATA: BEGIN OF i_mwdat_t_r OCCURS 0.
              INCLUDE STRUCTURE rtax1u15.
      DATA: END OF i_mwdat_t_r.
                             Work areas                                  *
      DATA : wa_zrfcinfo TYPE zrfcinfo.
    Get the last execution date/time from ZTABLE
    SELECT *
           FROM zrfcinfo
           INTO TABLE i_zrfcinfo
           WHERE
             name = 'ZRFC_VCS_GET_GOODSRECEIPT' AND
             status = '1'.
    DESCRIBE TABLE i_zrfcinfo LINES sy-tabix.
    Sort the table for retrieving the latest date/time
    SORT i_zrfcinfo BY exc_date DESCENDING exc_time  DESCENDING.
    READ TABLE i_zrfcinfo INDEX 1.
    IF sy-subrc = 0.
       lv_suc_date = i_zrfcinfo-exc_date.
       lv_suc_time = i_zrfcinfo-exc_time.
    ENDIF.
    Fetch the updated records from the table MKPF between the latest
    *date/time
    lv_suc_date = '20070529'.
      SELECT mblnr
             budat
             xblnr
             bldat
             FROM mkpf
             INTO TABLE i_mkpf
             WHERE
             cpudt GE lv_suc_date AND
             cputm GE lv_suc_time.
    HEADER
    For multiple PO
      IF NOT i_mkpf[] IS INITIAL.
        SELECT mblnr
               elikz
               wempf
               ebeln
               ebelp
               werks
               erfmg
               bwart
               bukrs
               lfbnr
               FROM mseg
               INTO TABLE i_mseg_m
               FOR ALL ENTRIES IN i_mkpf
               WHERE mblnr = i_mkpf-mblnr
               and bwart NE '543'.
        IF NOT lv_suc_date IS INITIAL.
          SELECT mblnr
                 elikz
                 wempf
                 ebeln
                 ebelp
                 werks
                 erfmg
                 bwart
                 bukrs
                 FROM mseg
                 INTO TABLE i_mseg_m
                 FOR ALL ENTRIES IN i_mseg_m
                 WHERE mblnr = i_mseg_m-lfbnr
        ENDIF.
      ENDIF.
    For Selecting the ERP Source
      SELECT SINGLE server INTO lv_server FROM tsle4.
    Appending all the fields  to the output HEADER file layout
      LOOP AT i_mseg_m.
        MOVE-CORRESPONDING i_mseg_m TO i_fintab1.
        CONCATENATE i_mseg_m-mblnr '-' i_mseg_m-ebeln '-' i_mseg_m-ebelp
    INTO i_fintab1-mblnr.
        CLEAR : lv_budat_m , lv_bldat_m .
    For GR Date
        SELECT SINGLE budat bldat INTO (lv_budat_m , lv_bldat_m) FROM mkpf
        WHERE   mblnr = i_mseg_m-mblnr.
        IF sy-subrc = 0.
          i_fintab1-bldat = lv_budat_m.
          lv_year1 = lv_bldat_m+0(4).
          lv_mth1  = lv_bldat_m+4(2).
          lv_day1  = lv_bldat_m+6(2).
        CONCATENATE lv_day1 '/' lv_mth1 '/' lv_year1 INTO i_fintab1-dc_date.
        ENDIF.
    Retrieve the base currency code
        CLEAR lv_base.
        SELECT SINGLE waers INTO lv_base FROM t001 WHERE bukrs =
      i_mseg_m-bukrs.
             IF sy-subrc = 0.
        i_fintab1-base = lv_base.
      ENDIF.
    For the Receiver Name
      i_fintab1-re_name = i_mseg_m-wempf.
    For the Plant Code
      i_fintab1-plt_code = i_mseg_m-werks.
    For the ERP Source
      i_fintab1-server = lv_server.
    For The Address Code
      i_fintab1-adr_code = 'A1'.
    For the Quantity ( ebeln - PO number , Elelp -  PO line number,
    erfmg - Quantity, bwart - Movement type ).
      SELECT ebeln ebelp erfmg INTO TABLE i_basic FROM mseg WHERE mblnr =
           i_mseg_m-mblnr AND bwart NE '543' AND ebeln = i_mseg_m-ebeln AND
           ebelp = i_mseg_m-ebelp.
      CLEAR lv_basicv.
      LOOP AT i_basic.
    Retrieve from table EKPO (Po LineItem) for total basic value( netpr
    - Net price )
        SELECT SINGLE netpr
               INTO lv_netwr_tbv
               FROM ekpo WHERE ebeln = i_basic-ebeln
                AND ebelp = i_basic-ebelp.
        IF sy-subrc = 0.
          lv_basicv = lv_basicv + i_basic-erfmg * lv_netwr_tbv.
        ENDIF.
    Retrieve the basic value for Reversal
        SELECT erfmg INTO TABLE i_basictotal FROM mseg
        WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
        AND lfbnr = i_mseg_m-mblnr AND ebelp = i_basic-ebelp
        AND ebeln = i_basic-ebeln.
        LOOP AT i_basictotal.
          lv_basicv = lv_basicv - ( i_basictotal-erfmg * lv_netwr_tbv ).
        ENDLOOP.
      ENDLOOP.
    lv_basicv move to total basic value i.e i_fintab1-vkwrt
      MOVE lv_basicv TO i_fintab1-vkwrt.
      CONDENSE i_fintab1-vkwrt NO-GAPS.
    Retrieve the total value from table MSEG ( GR Line item )
      SELECT dmbtr INTO TABLE i_total FROM mseg
      WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp = i_mseg_m-ebelp.
      LOOP AT i_total.
        lv_dmbtr = lv_dmbtr + i_total-dmbtr.
      ENDLOOP.
    Calculating the total value for reversal
      SELECT dmbtr INTO TABLE i_total1 FROM mseg
      WHERE  ( bwart = '122' OR bwart = '124' OR bwart = '161' )
      AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp = i_mseg_m-ebelp .
      LOOP AT i_total1.
        lv_dmbtr = lv_dmbtr - i_total1-dmbtr.
      ENDLOOP.
    For getting the exchange Rate ( wkurs - Exchange Rate )
      SELECT SINGLE wkurs INTO lv_wkurs_b FROM ekko
      WHERE ebeln = i_mseg_m-ebeln .
      IF sy-subrc = 0.
        lv_dmbtr = lv_dmbtr / lv_wkurs_b.
      ENDIF.
    Calculate the tax
      CLEAR : i_tax, lv_netpr_tax1 , lv_mwskz, lv_taxamt_t , lv_tax_tot ,
              lv_fwnav_tax, lv_bukrs_tax , lv_waers_tax.
    *****( menge - Quantity ).
      SELECT ebeln ebelp menge FROM mseg INTO TABLE i_tax
      WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp = i_mseg_m-ebelp.
      LOOP AT i_tax.
    ( bukrs - Company Code , waers - Currency Key ).
        SELECT SINGLE bukrs waers INTO (lv_bukrs_tax , lv_waers_tax)
        FROM ekko WHERE ebeln = i_tax-ebeln.
    *****( netpr - net price , mwskz - tax on sales).
        SELECT SINGLE netpr mwskz INTO (lv_netpr_tax1 , lv_mwskz)
        FROM ekpo WHERE ebeln = i_tax-ebeln AND ebelp = i_tax-ebelp.
        IF sy-subrc = 0.
          lv_taxamt_t = i_tax-menge * lv_netpr_tax1.
        ENDIF.
        IF NOT lv_mwskz IS INITIAL.
          CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
               EXPORTING
                    i_bukrs = lv_bukrs_tax
                    i_mwskz = lv_mwskz
                    i_waers = lv_waers_tax
                    i_wrbtr = lv_taxamt_t
               IMPORTING
                    e_fwnav = lv_fwnav_tax
               TABLES
                    t_mwdat = i_mwdat_t.
          IF sy-subrc <> 0.
          ENDIF.
        ENDIF.
        lv_tax_tot = lv_tax_tot + lv_fwnav_tax.
        CLEAR lv_fwnav_tax.
      ENDLOOP.
    For reversal
      CLEAR : i_tax_r, lv_netpr_tax1_r, lv_mwskz_r, lv_taxamt_t_r,
              lv_tax_tot_r, lv_fwnav_tax_r, lv_bukrs_tax_r, lv_waers_tax_r
      SELECT  ebeln ebelp menge FROM mseg
      INTO TABLE i_tax_r WHERE ( bwart = '122' OR bwart = '124' OR bwart =
    '161' )
      AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp = i_mseg_m-ebelp.
      LOOP AT i_tax_r.
        SELECT SINGLE bukrs waers INTO (lv_bukrs_tax_r , lv_waers_tax_r)
        FROM ekko WHERE ebeln = i_tax_r-ebeln.
        SELECT SINGLE netpr mwskz INTO (lv_netpr_tax1_r , lv_mwskz_r)
        FROM ekpo WHERE ebeln = i_tax_r-ebeln AND ebelp = i_tax_r-ebelp.
        IF sy-subrc = 0.
          lv_taxamt_t_r = i_tax_r-menge * lv_netpr_tax1_r.
        ENDIF.
        IF NOT lv_mwskz_r IS INITIAL.
          CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
               EXPORTING
                    i_bukrs = lv_bukrs_tax_r
                    i_mwskz = lv_mwskz_r
                    i_waers = lv_waers_tax_r
                    i_wrbtr = lv_taxamt_t_r
               IMPORTING
                    e_fwnav = lv_fwnav_tax_r
               TABLES
                    t_mwdat = i_mwdat_t_r.
          IF sy-subrc <> 0.
          ENDIF.
        ENDIF.
        lv_tax_tot_r = lv_tax_tot_r + lv_fwnav_tax_r.
        CLEAR lv_fwnav_tax_r.
      ENDLOOP.
    Finally the Total value is moving to i_fintab-dmbtr
      i_fintab1-dmbtr = lv_dmbtr + lv_tax_tot - lv_tax_tot_r.
      CONDENSE i_fintab1-dmbtr NO-GAPS.
      IF i_fintab1-dmbtr = ' '.
        i_fintab1-dmbtr = '0.0000'.
      ENDIF.
      IF i_fintab1-vkwrt = ' '.
        i_fintab1-vkwrt = '0.0000'.
      ENDIF.
      SELECT SINGLE mblnr INTO lv_mblnr_rev FROM mseg
      WHERE ( bwart = '102' OR bwart = '104' OR  bwart = '106' )
      AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp =  i_mseg_m-ebelp.
      IF sy-subrc = 0.
        i_fintab1-elikz = 'Reversed'.
      ELSEIF i_fintab1-elikz = 'X'.
        i_fintab1-elikz = 'Completed'.
      ELSEIF i_fintab1-elikz = ' '.
        i_fintab1-elikz = 'NotCompleted'.
      ENDIF.
    Retrieve from table EKKO for Supplier Code , Exchange Rate,
    Purchasing Group, Purchasing Document Type,
      SELECT SINGLE lifnr
                     wkurs
                     ekgrp
                     bsart
                     inco1
                     knumv
                     waers
             INTO (lv_lifnr , lv_wkurs, lv_ekgrp , lv_bsart ,
                   lv_inco1 , lv_knumv , lv_waers_c)
             FROM ekko
             WHERE ebeln = i_mseg_m-ebeln.
      IF sy-subrc = 0.
        i_fintab1-lifnr = lv_lifnr.
        i_fintab1-ekgrp = lv_ekgrp.
        i_fintab1-waers = lv_waers_c.
        i_fintab1-bsart = lv_bsart.
        i_fintab1-inco1 = lv_inco1.
        i_fintab1-bsart_c = lv_bsart.
        MOVE lv_wkurs TO i_fintab1-wkurs.
        CONDENSE i_fintab1-wkurs NO-GAPS.
      ENDIF.
    Retreive for Land
      SELECT SINGLE land1 INTO lv_land1 FROM lfa1 WHERE lifnr = lv_lifnr .
      IF sy-subrc = 0.
        i_fintab1-land1 = lv_land1.
      ENDIF.
    Retrieve from table T024 for BuyerCode
      SELECT SINGLE  eknam INTO lv_eknam FROM t024 WHERE ekgrp = lv_ekgrp.
      IF sy-subrc = 0.
        i_fintab1-eknam = lv_eknam.
      ENDIF.
    Retrieve from table KONV for AdditionalCharges
    Retrieve PO Number, PO Line Number from GR Line Item
      SELECT ebeln ebelp INTO TABLE i_add FROM mseg
      WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp = i_mseg_m-ebelp.
      DELETE ADJACENT DUPLICATES FROM i_add COMPARING ebeln ebelp .
      LOOP AT i_add.
    ********( knumv - number of document condition )
        SELECT SINGLE knumv INTO lv_knumv_a FROM ekko
        WHERE ebeln = i_add-ebeln.
        IF sy-subrc = 0.
          CLEAR : i_zcond,i_add_cond[], lv_kwert_total.
          SELECT zcond1
                 zcond2
                 zcond3
                 zcond4
                 zcond5
                 zcond6
                 zcond7
                 zcond8
                 zcond9
                 zcond10
          FROM zvcs_con_config
          INTO TABLE i_zcond
          WHERE ( zid = '001' ) OR
                ( zid = '002' ) OR
                ( zid = '003' ) OR
                ( zid = '004' ) OR
                ( zid = '005' ).
          LOOP AT i_zcond.
            SELECT kwert APPENDING TABLE i_add_cond FROM konv
            WHERE knumv = lv_knumv_a AND kposn = i_add-ebelp
            AND   ( ( kschl EQ i_zcond-zcond1 ) OR
                    ( kschl EQ i_zcond-zcond2 ) OR
                    ( kschl EQ i_zcond-zcond3 ) OR
                    ( kschl EQ i_zcond-zcond4 ) OR
                    ( kschl EQ i_zcond-zcond5 ) OR
                    ( kschl EQ i_zcond-zcond6 ) OR
                    ( kschl EQ i_zcond-zcond7 ) OR
                    ( kschl EQ i_zcond-zcond8 ) OR
                    ( kschl EQ i_zcond-zcond9 ) OR
                    ( kschl EQ i_zcond-zcond10 ) ).
          ENDLOOP.
          CLEAR : lv_kwert_total.
          LOOP AT i_add_cond.
            lv_kwert_total = lv_kwert_total + i_add_cond-kwert.
          ENDLOOP.
          CLEAR : lv_sum_a.
          IF sy-subrc = 0.
            lv_sum_a =  lv_sum_a  + lv_kwert_total.
            SELECT SINGLE netwr netpr INTO (lv_netwr_a , lv_netpr_a)
            FROM ekpo WHERE ebeln = i_add-ebeln AND ebelp = i_add-ebelp.
            SELECT SINGLE erfmg INTO lv_erfmg_add FROM mseg
            WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_add-ebeln
            AND ebelp  = i_add-ebelp.
            lv_sum_b = lv_sum_b + ( lv_erfmg_add * lv_netpr_a ) *
            lv_sum_a / lv_netwr_a .
          ENDIF.
        ENDIF.
        CLEAR : lv_kwert_a, lv_knumv_a , lv_netwr_a , lv_netpr_a ,
                lv_erfmg_add.
      ENDLOOP.
      CLEAR: lv_sum_a.
    Retrieve the returned
      SELECT ebeln ebelp INTO TABLE i_add1 FROM mseg
      WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
      AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
      AND ebelp = i_mseg_m-ebelp.
      DELETE ADJACENT DUPLICATES FROM i_add1 COMPARING ebeln.
      LOOP AT i_add1.
        SELECT SINGLE knumv INTO lv_knumv_a1 FROM ekko
        WHERE ebeln = i_add-ebeln.
        IF sy-subrc = 0.
          CLEAR : i_zcond_r,i_add_cond_r[], lv_kwert_total_r.
          SELECT zcond1
                 zcond2
                 zcond3
                 zcond4
                 zcond5
                 zcond6
                 zcond7
                 zcond8
                 zcond9
                 zcond10
          FROM zvcs_con_config
          INTO TABLE i_zcond_r
          WHERE ( zid = '001' ) OR
                ( zid = '002' ) OR
                ( zid = '003' ) OR
                ( zid = '004' ) OR
                ( zid = '005' ).
          LOOP AT i_zcond_r.
            SELECT kwert APPENDING TABLE i_add_cond_r FROM konv
            WHERE knumv = lv_knumv_a1 AND kposn = i_add1-ebelp
            AND ( ( kschl EQ i_zcond_r-zcond1 ) OR
                  ( kschl EQ i_zcond_r-zcond2 ) OR
                  ( kschl EQ i_zcond_r-zcond3 ) OR
                  ( kschl EQ i_zcond_r-zcond4 ) OR
                  ( kschl EQ i_zcond_r-zcond5 ) OR
                  ( kschl EQ i_zcond_r-zcond6 ) OR
                  ( kschl EQ i_zcond_r-zcond7 ) OR
                  ( kschl EQ i_zcond_r-zcond8 ) OR
                  ( kschl EQ i_zcond_r-zcond9 ) OR
                  ( kschl EQ i_zcond_r-zcond10 ) ).
    append i_add_cond.
          ENDLOOP.
          LOOP AT i_add_cond_r.
            lv_kwert_total_r = lv_kwert_total_r + i_add_cond_r-kwert.
          ENDLOOP.
          IF sy-subrc = 0.
            lv_sum_a1 =  lv_sum_a1  + lv_kwert_total_r .
            SELECT SINGLE netwr netpr INTO (lv_netwr_a1 , lv_netpr_a1)
            FROM ekpo WHERE ebeln = i_add-ebeln.
            CLEAR : i_erfmg.
            SELECT erfmg INTO TABLE i_erfmg FROM mseg
            WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
            AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
            AND ebelp = i_mseg_m-ebelp.

  • WH Tax - Down payment clearing against invoice

    Dear Experts,
    This is regarding the down payment clearing against invoice where WH tax is involved in Down payment as well as in Vendor Invoice. we also deduct Work Contract Tax Z1 on vendor invoice.
    the process is as follows :
    Step 1 - Down payment to Vendor through TC # F-48
    Entry : Vendor A/c Dr 2200.00
    To Bank 2178
    To TDS 22.00 @ 1%
    Step 2 - Vendor Invoice Booking through TC # FB60
    Entry : Expenses Dr 4400.00
    To Vendor 4180
    To TDS 44.00 @ 1%
    To WCT 176.00 @ 1%
    Clearing down payment against the invoice posted using FB60.
    Step 3 - Down payment Clearing through TC # F-54
    Entry : Vendor Dr 1980.00
    To Vendor 2200.00
    To TDS 44.00
    To WCT 176
    But in this process, it clearing WCT tax code also which i dont want in this. And if i adjust amount and do not clear whole amount available amount then after simulating it showing difference coming and debit and credit amount of line items.
    But if i dont include WCT tax code in whole process then its working fine no problem coming in it, but want it also to include in clearing process of down payment against invoice.
    Best Regards
    Arun Rai

    Dear,
    i am following the SAP standard process for deducting TDS on down payment and invoices.
    First i deduct the TDS on down payment and Then again full TDS amount on invoice not adjusted it in WHT tab in base amount after adjusting Advance payment.
    in next process f-54 i cleared the advance payment against invoice so it reverse the invoice TDS amount to adjust the tds as per advance payment TDS.
    In img i confiured the WHT for payment posting as by selecting "Central inv. prop." option in Central invoice option.
    Regards
    Arun Rai

  • Classes, invoice program

    I HAVE THE FOLLOWING CODE WHICH IS SUPPOSED TO PRODUCE A SIMPLE INVOICE USING THROUGH A DRIVER PROGRAM AND SETTERS AND GETTERS. BOTH THE INVOICE CODE AND TESTINVOICE CODE SHOW NO PROBLEMS AND COMPILE, I JUST CANT SEEM TO GET IT WORK PROPERLY, WHEN I TRY TO START IT NO DIALOG BOXS APPEAR and nothing seems to happen.
    CAN SOMEONE PLEASE EXPLAIN WHY WHY WHY WHY THIS IS HAPPENING.
    CODE
    public class Invoice
    private String partNumber;
    private String description;
    private double quantity;
    private double price;
    public Invoice()
    partNumber = "";
    description = "";
    quantity = 0;
    price = 0;
    * The setPart method stores value in part field.
    * @param number the value to store in part.
    public void setPartNumber(String piece)
    partNumber = piece;
    * The setDescription method stores value in part field.
    * @param desc the value to store in description.
    public void setDescription(String descrip)
    description = descrip;
    * The setQuantity method stores value in part field.
    * @param quan the value to store in quantity.
    public void setQuantity(double quan)
    quantity = quan;
    * The setPrice method stores value in part field.
    * @param amount the value to store in price.
    public void setPrice(double amount)
    price = amount;
    * The getPart method returns value.
    * @return the value in the part field.
    public String getPartNumber()
    return partNumber;
    * The getdescription method returns value.
    * @return the value in the description field.
    public String getDescription()
    return description;
    * The getQuantity method returns value.
    * @return the value in the quantity field.
    public double getQuantity()
    return quantity;
    * The getPrice method returns value.
    * @return the value in the price field.
    public double getPrice()
    return price;
    THEN I HAVE THE DRIVER PROGRAM NAMED TESTINVOICE, WHICH I HAVE CHANGED AROUND A BIT WITH THE WAY THE SETTERS ARE SET UP BUT NOT SURE IF THIS IS THE CORRECT WAY.
    public class TestInvoice
    String input;
    String piece;
    String descrip;
    double quan;
    double amount;
    public void main(String[] args)
    Invoice myInvoice = new Invoice();
    myInvoice.setPartNumber(piece);
    myInvoice.setDescription(descrip);
    myInvoice.setQuantity(quan);
    myInvoice.setPrice(amount);
    piece = JOptionPane.showInputDialog("Please enter Part Number");
    descrip = JOptionPane.showInputDialog("Please enter Part Description");
    input = JOptionPane.showInputDialog("Please Enter Quantity of Part Required");
    quan = Double.parseDouble(input);
    input = JOptionPane.showInputDialog("Please enter Part Price");
    amount = Double.parseDouble(input);
    JOptionPane.showMessageDialog(null, myInvoice.getPartNumber() + " " + myInvoice.getDescription() + " " +
    " " + myInvoice.getQuantity() + " " + myInvoice.getPrice());
    }

    1. Please use code tags.
    2. In this code, what is price set to by the setPrice call?:
        double amount;
        myInvoice.setPrice(amount);
        amount  = 23.55;
        System.out.println(myInvoice.getPrice()); // what displays here?
    }Message was edited by:
    petes1234

Maybe you are looking for

  • JDBC Adapter: J2EE server crashes while sending large messages

    We want to use the following scenario to transfer data from a MS SQL Server to SAP BW via XI: JDBC Sender Adapter – XI – SAP ABAP Proxy. All works fine with a small amount of data. But if the select statement delivers too many record sets and the siz

  • ODI Scenario fails to extract data from Essbase

    Hello, We are running ODI 10.1.3.6.0. When we run a scenario it fails when trying to export data from Essbase. I am pretty new to ODI and can't seem to find the information to fix this error. Thanks in advance for your help. Below is the error. org.a

  • Urgent Requirement : Backend is not available - can a model be created ?

    Hi, Presently i am working in VC for BI 7.0. MY requirement is to create a model but the database model is under development and data is not available in backend this is the present situation but my client want's to have a demo of the UI. 1. will it

  • ITunes 9.1.1 with Tiger 10.4.11

    I have a PPC G4 iMac (flat screen) running OS X 10.4.11 on a wireless network with two other Macs, one running 10.5.8 and the other 10.6.3. I have always shared music libraries on the network between machines but have run into problems with iTunes 9.

  • SQL 2008R2 DBCC MEMORYSTATUS empty results for values Target Committed ???

    Im following this interesting article on looking at various queries to gather information on system load https://www.simple-talk.com/sql/database-administration/why-is-that-sql-server-instance-under-stress/ The query that looks at DBCC MEMORYSTATUS f