Interim payment based on PoC

Hi there
my client has a requirement to report actual PoC and make payment accordingly.  We are using PS/MM integration, for all external services, we have a PO assigned to the network activity.
The PS activity invoicing plan is not used because invoicing shall be related to PO and not NWA.
How do we document in SAP both the % and $$$ for the interim invoice?  Do we have to develop something to book the % to PS and $$$ to MM?
The invoicing plan is not very useful especially when reported % and reported $$$ has random rounding differences.
Any suggestions of best practice?
kr
Andrew

The project is outsourced to contractors.  We use WBSE to manage budget we could spend.  We use network for scheduling.  All activities are outsouced.
Each single activity can be multi-months services.  Contractor submits the actual % completed and $$$ periodically.  Note the planned % of completion and $$$ is not applicable.
We need to book the submitted % and $$$, the $$$ would be an invoice, the % could be a confirmation. 
The question is, is there an easier way to integrate PS and MM, for example, is it possible to put the actuall % of completion and $$$ into one single document, or any other practices?
thanks,
Andrew

Similar Messages

  • How to do an incoming payment based on journal entry whit SDK ?

    Hello
    Somebody have the code for SDK of Business One,  how  to do an  incoming payment based on journal entry?
    Tks

    Hello Julio,
    Here some example code from the SDK helpfile.
    Private Sub cmdTest_Click()
       On Error GoTo ErrorHandler
       Dim vCompany As SAPbobsCOM.Company
       'create company object
       Set vCompany = New SAPbobsCOM.Company
       'set paras for connection
       vCompany.CompanyDB = "SBODemo_US"
       vCompany.Password = "manager"
       vCompany.UserName = "manager"
       vCompany.Server = "(local)"
       'connect to database server
       If (0 <> vCompany.Connect()) Then
          MsgBox "Failed to connect"
          Exit Sub
       End If
       Dim nErr As Long
       Dim errMsg As String
       'Set the object's properties
       Dim vPay As SAPbobsCOM.Payments
       Set vPay = vCompany.GetBusinessObject(oIncomingPayments)
       vPay.Address = "622-7"
       vPay.ApplyVAT = 1
       vPay.CardCode = "D10006"
       vPay.CardName = "Card D10004"
       vPay.CashAccount = "288000"
       vPay.CashSum = 0
       'vPay.CheckAccount = "280001"
       vPay.ContactPersonCode = 1
       vPay.DocCurrency = "Eur"
       vPay.DocDate = Now
       vPay.DocRate = 0
       vPay.DocTypte = 0
       vPay.HandWritten = 0
       vPay.JournalRemarks = "Incoming - D10004"
       vPay.LocalCurrency = tYES
       vPay.Printed = 0
       vPay.Reference1 = 8
       vPay.Series = 0
       vPay.SplitTransaction = 0
       vPay.TaxDate = Now
       vPay.TransferAccount = "10100"
       vPay.TransferDate = Now
       vPay.TransferSum = 0
       vPay.Invoices.AppliedFC = 0
       vPay.Invoices.AppliedSys = 0
       vPay.Invoices.DocEntry = 8
       vPay.Invoices.DocLine = 0
       vPay.Invoices.DocRate = 0
       vPay.Invoices.InvoiceType = 13
       vPay.Invoices.LineNum = 0
       vPay.Invoices.SumApplied = 5031.2
       Call vPay.Invoices.Add
       Call vPay.Invoices.SetCurentLine(1)
       vPay.Invoices.AppliedFC = 0
       vPay.Invoices.AppliedSys = 1089.65
       vPay.Invoices.DocEntry = 11
       vPay.Invoices.DocLine = 1
       vPay.Invoices.DocRate = 0
       vPay.Invoices.InvoiceType = it_Invoice
       vPay.Invoices.LineNum = 1
       vPay.Invoices.SumApplied = 1000
       vPay.CreditCards.AdditionalPaymentSum = 0
       vPay.CreditCards.CardValidUntil = CDate("10/31/2004")
       vPay.CreditCards.CreditAcct = "295000"
       vPay.CreditCards.CreditCard = 3
       vPay.CreditCards.CreditCardNumber = "884848448"
       vPay.CreditCards.CreditCur = "EUR"
       vPay.CreditCards.CreditRate = 0
       vPay.CreditCards.CreditSum = 5031.2
       vPay.CreditCards.CreditType = 1
       vPay.CreditCards.FirstPaymentDue = CDate("11/29/2002")
       vPay.CreditCards.FirstPaymentSum = 5031.2
       vPay.CreditCards.LineNum = 0
       vPay.CreditCards.NumOfCreditPayments = 1
       vPay.CreditCards.NumOfPayments = 1
       vPay.CreditCards.OwnerIdNum = "3993939"
       vPay.CreditCards.OwnerPhone = "383838888"
       vPay.CreditCards.PaymentMethodCode = 1
       Call vPay.CreditCards.Add
       Call vPay.CreditCards.SetCurentLine(1)
       vPay.CreditCards.AdditionalPaymentSum = 0
       vPay.CreditCards.CardValidUntil = CDate("10/31/2004")
       vPay.CreditCards.CreditAcct = "295000"
       vPay.CreditCards.CreditCard = 3
       vPay.CreditCards.CreditCardNumber = "884848448"
       vPay.CreditCards.CreditCur = "EUR"
       vPay.CreditCards.CreditRate = 0
       vPay.CreditCards.CreditSum = 1000
       vPay.CreditCards.CreditType = 1
       vPay.CreditCards.FirstPaymentDue = CDate("11/29/2002")
       vPay.CreditCards.FirstPaymentSum = 1000
       vPay.CreditCards.LineNum = 1
       vPay.CreditCards.NumOfCreditPayments = 1
       vPay.CreditCards.NumOfPayments = 1
       vPay.CreditCards.OwnerIdNum = "3993939"
       vPay.CreditCards.OwnerPhone = "383838888"
       vPay.CreditCards.PaymentMethodCode = 1
       If (vPay.Add() <> 0) Then
           MsgBox ("Failed to add a payment")
       End If
       'Check Error
       Call vCompany.GetLastError(nErr, errMsg)
       If (0 <> nErr) Then
           MsgBox ("Found error:" + Str(nErr) + "," + errMsg)
       Else
           MsgBox ("Succeed in payment.add")
       End If
       'disconnect the company object, and release resource
       Call vCompany.Disconnect
       Set vCompany = Nothing
       Exit Sub
    ErrorHandler:
       MsgBox ("Exception:" + Err.Description)
    End Sub
    HTH Regards Teun
    Edited by: Teun Aben on Aug 4, 2010 9:00 PM

  • Create a payment based on a journal entry document

    Hello!
    In SBO 2007A PL44 I could add an incoming payment based on journal entry, but my code doesn't work in PL46.
    It's a bug?
    The Code:
            Dim oPay As SAPbobsCOM.Payments = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oIncomingPayments)
            oPay.DocType = SAPbobsCOM.BoRcptTypes.rCustomer
            oPay.DocDate = Today
            oPay.TaxDate = Today
            oPay.DueDate = Today
            oPay.VatDate = Today
            oPay.CardCode = "310000010"
            oPay.Invoices.DocEntry = 1882
            oPay.Invoices.InvoiceType = SAPbobsCOM.BoRcptInvTypes.it_JournalEntry
            oPay.Invoices.SumApplied = 12000
            oPay.CashAccount = "38117000"
            oPay.CashSum = 12000
            oPay.DocCurrency = "Ft"
            If oPay.Add <> 0 Then
                Dim errCode As Integer = 0
                Dim errmsg As String = ""
                oCompany.GetLastError(errCode, errmsg)
            End If
    I got the following error:
    errCode: -10
    errMsg: Cannot pay partial down payment 
    Regards Csaba
    Edited by: Csaba Fülöpcsei on Apr 8, 2009 4:49 PM

    Dear Jane Jing!
    Yes I have a issue in B1 app for this payment:
    In Incoming payments windows select the customer doctype and select the customer (310000010), and the list of the invoices check the line (1882, journal entry) and type 10000 in the Total Payment column. And after 'Payment Mean' icon, I can add the payment.
    The problem is still on all payments of jourlnal entries from DI API.
    If I assign any value to oPay.Invoices.SumApplied field, I couldn't add the payment.
    Regards Csaba

  • Payments based on inventory type, item category...

    Hi,
    I am trying to develop a report to show unrecorded liabilities - basically, I need to find out if there are payments/accounting documents/invoice number existing in the system, that has no connecting documents in purchase or sales side. I am able to do this using REGUP/BSEG/VBAP/EKPO (and corresponding header) tables.
    I am stuck at one requirement though.
    "Segregate payments in to inventory, non-inventory, no-link categories based on product/service (item type/item category) or/and vendor type (inventory/non-inventory)."
    Can someone please tell me how to divide payments as mentioned above? Is it based on material type?
    Thanks in advance!

    If FI postings for inventory and non-inventory are posted to different G/L accounts then you should be able to filter that using HKONT field in BSEG. On the purchasing side, if G/L account number won't suffice then check if you can use cost element field KOSTL. On the sales side you should be able to filter this using PRCTR.
    If this approach cannot be used then you have to drill down to VBEP table and check if there is a movement type attached to this order item (for third party items, check for VBEP-LFREL = X). This will be accurate depending on how sales configuration was set up.
    On the purchasing side, use a combination Item category and Account assignment category in table EKPO to identify and segregate the totals.
    Raj
    PS: The first approach is the best approach and I hope that is how they have configured it in your system

  • Down payment based on the purchase order

    i raise one purchase order 1000 Rs  in t code me21n after popup with number.  based on purchase order i pay advance amount 500 Rs with reference of purchase order number (in  f-48 i have given number reference field). when i saw the purchase oder (me21n)  in status tab down payments fields not updated like purchase order 1000 only and down payment 0 only the system showing.

    Hi
    In F-48 enter the input parameters and when you click enter it takes you to next screen. here you would enter the amount for 2nd line item. It is here you would enter the Purchase doc field.
    If the same is not visible, then check the field status for the GL field status group in OBC4 and also posting key field status in OB41
    Thank You,

  • Outgoing payment based on CreditNote

    Hi,
    How do I create an Outgoing payment for customer based on a fresh CreditNote  with the DI API in C# please ?
    I did try many combination from many different BoObjectTypes to many different BoRcptInvType and the code bellow is the last one I did try and I know it doesn't work
    // Maybe it's not the one for CreditMemo
    SAPbobsCOM.Payments Payment = (SAPbobsCOM.Payments)oCompany.GetBusinessObject(BoObjectTypes.oVendorPayments);
    Payment.DocObjectCode =  BoPaymentsObjectType.bopot_OutgoingPayments;
    Payment.CardCode = Document.CardCode;
    Payment.DocDate = DateTime.Now;
    Payment.DocCurrency = Document.DocCurrency;
    Payment.LocalCurrency = BoYesNoEnum.tYES;
    Payment.DocType = BoRcptTypes.rCustomer;
    Payment.HandWritten = BoYesNoEnum.tNO;
    Payment.CashSum = double.Parse(HeadersTable.Field["pos_DocTotal"].ToString());
    Payment.DocRate = 0;
    Payment.TaxDate = DateTime.Now;
    Payment.ContactPersonCode = Document.ContactPersonCode;
    Payment.ApplyVAT = BoYesNoEnum.tYES;
    Payment.JournalRemarks = Document.JournalMemo;
    Payment.Invoices.AppliedFC = 0;
    Payment.Invoices.DocEntry = int.Parse(ObjectCode);           // The CreditMemo I just created...
    Payment.Invoices.InvoiceType = BoRcptInvTypes.it_Return;  // MUST BE WRONG HERE
    Payment.Invoices.SumApplied = Payment.CashSum;
    Payment.Invoices.Add();
    if (Payment.Add() != 0)
        oCompany.GetLastError(out ErrorCode, out ErrorMsg);
        LogError(ErrorCode.ToString() + " : " + ErrorMsg);
        oCompany.EndTransaction(BoWfTransOpt.wf_RollBack);
    else
        oCompany.EndTransaction(BoWfTransOpt.wf_Commit);

    here the entire method that creates my CreditMemo which works fine and have no error on it.
    private void CreateCreditMemo()
                try
                    SAPbobsCOM.Documents Document = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oCreditNotes);
                    SAPbobsCOM.BusinessPartners bp = (SAPbobsCOM.BusinessPartners)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners);
                    SAPbobsCOM.Items Items = (SAPbobsCOM.Items)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oItems);
                    string CardCode = HeadersTable.Field["pos_CardCode"].ToString();
                    // The business partner is necessary
                    if (bp.GetByKey(CardCode))
                        Document.CardCode = CardCode;
                        Document.HandWritten = BoYesNoEnum.tNO;
                        Document.PaymentGroupCode = -1;
                        Document.DocDate = DateTime.Parse(HeadersTable.Field["pos_DocDate"].ToString());
                        Document.DocType = BoDocumentTypes.dDocument_Items;
                        Document.DocCurrency = bp.Currency;
                        Document.NumAtCard = HeadersTable.Field["pos_Ref1"].ToString();
                        Document.Series = GetSeriesFromCardCode(CardCode, DOCTYPE.RETURN);
                        // Now adding the detail for this credit memo
                        while (!DetailsTable.EOF)
                            // I did it this way to debug variables faster.  That's all
                            string ItemCode = DetailsTable.Field["detail_ItemCode"].ToString();
                            string ItemDescription = DetailsTable.Field["detail_ItemDesc"].ToString();
                            double PriceAfterVAT = double.Parse(DetailsTable.Field["detail_PriceOfVat"].ToString());
                            double Price = double.Parse(DetailsTable.Field["detail_Price"].ToString());
                            double Quantity = double.Parse(DetailsTable.Field["detail_Quantity"].ToString());
                            string WhsCode = DetailsTable.Field["detail_WhsCode"].ToString();
                            if (!Items.GetByKey(ItemCode))
                                LogError("The ItemCode " + ItemCode + " doesn't exist");
                                return;
                            else
                                Document.Lines.ItemCode = ItemCode;
                                Document.Lines.ItemDescription = ItemDescription;
                                Document.Lines.PriceAfterVAT = PriceAfterVAT;
                                Document.Lines.Price = Price;
                                Document.Lines.Quantity = Quantity;
                                Document.Lines.WarehouseCode = WhsCode;
                                Document.Lines.TaxCode = SAP.GetTaxCodeFromAddresses(bp.Addresses);
                                DetailsTable.MoveNext();
                                if (!DetailsTable.EOF)
                                    Document.Lines.Add();
                        if (Document.Add() != 0)
                            oCompany.GetLastError(out ErrorCode, out ErrorMsg);
                            LogError(ErrorCode.ToString() + " : " + ErrorMsg + " when adding the credit memo " + CardCode);
                        else
                            CreateOutgoingPayment(Document);
                    else
                        LogError("The business partner " + CardCode + " doesn't exist in SAP Business Partners");
                catch (Exception ex)
                    LogError(ex.Message + " when creating credit memo for " + blabla + " on " + DateTime.Now.ToString());

  • Post incoming payments based on Invoice number.

    Hello,
    I would appreciate your help on the following question. POINTS AVAILABLE. <b>Is there a way for us to post an incoming partial payment from a customer based only on the invoice number?</b>
    For example, a customer has several open invoices and want to make a partial payment on 1 of the invoices. <b>I know we can do it using F-28 (Partial Payments tab), however, is there any other way to post a payment to a particular invoice without entering a customer number?</b> Using F-28 brings up all the invoices and pmts for the customer.
    Thanks in advance!

    <b>This is the documentation about the program:</b>
    <b>F.13</b>
    This program clears open items from customer, vendor and G/L accounts (in particular, GR/IR clearing accounts) automatically.
    It selects all accounts specified in the value sets that have debit and credit postings.
    The following items are not cleared:
    Noted items
    Statistical postings and special G/L transactions of the type bill of exchange
    Items with withholding tax postings
    Down payments can only be cleared if down payment clearing for the same amount has been posted
    The remaining open items are grouped according to fixed system criteria:
    Company code
    Account type
    Account number
    Reconciliation account number
    Currency key
    BSID-WAERS for customers
    BSIK-WAERS for vendors
    BSIS-PSWSL for G/L accounts
    Special G/L indicator
    The program also groups items according to a maximum of five user criteria. Note that the trading partner number and the business area are no longer fixed system criteria (in comparison to the former clearing programs SAPF123 and SAPF123W). Therefore, if you want to group by business area or trading partner number, you have to enter these as user criteria.
    Clearing takes place when, for the group of line items selected according to the above criteria, the balance in document currency (for customers and vendors) or in update currency (for G/L accounts) is zero. The date for clearing is the clearing date according to your selection specifications. In an update run, if the clearing transaction is successful, the clearing document number is specified.
    During the program run, all accounts in which clearing can be performed are blocked. They are then unblocked again after the clearing transaction. Accounts that are blocked by other transactions or that are intended for the automatic payment run are not considered in automatic clearing
    <b>OB74</b>
    Prepare Automatic Clearing
    In this activity you enter the criteria for grouping an account's open items for automatic clearing. The clearing program clears the open items that are grouped together if their total balance equals zero in local and foreign currency.
    You must enter the following standard criteria:
    account type
    account number or a number interval
    You can also enter a further five criteria.
    You select these five additional criteria from the fields in table
    BSEG or BKPF. If possible, you should choose fields that are also
    contained in table BSIS (G/L accounts), BSID (customers), or BSIK
    (vendors). You can determine the field names by displaying the tables
    in the Data Dictionary, which you reach by choosing
    Tools -> ABAP Workbench and then Dictionary.

  • Create incoming payments, based on Sales Person code

    Hi all,
    is there any SAPB1 functionality to create incoming payments, for many Sales Invoices of different customers , based on a Sales Person code ?
    Thank you,
    Aris Pantelatos

    Hi Jitin and Gordon,
    Thank you both for your replies.
    Jitin, I need to create different incoming payments (one for every customer)  based on a list of invoices with a specified Sales Person on them.
    Do you know, if this is included on SAPB1 roadmap?
    Aris
    Edited by: Aris Pantelatos on Feb 8, 2012 4:04 PM

  • Payment based on milestone

    Hello,
    Is it possible to make payments to vendors based on percentage of completion or milestones

    Hi,
    Yes it is possible. ref sap help link
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/4c/226f8d46e611d189470000e829fbbd/content.htm
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/4c/226f9a46e611d189470000e829fbbd/content.htm
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/ea/5177e8bf6411d2a9250000e8a5b547/content.htm
    Regards,
    Sandeep

  • Milestone Billing based on POC(Percentage of completion) and Sales Order

    Dear Experts,
                      With reference to following link
    SD Cycle in PS
    i would like to add one more doubt.
    My client want to copy milestone only when milestone POC is completed.
    Like After Completion of 30% of work,Billing must be copied from it.
    System does not allow you to exit untill u complete 100% billing in sales order.
    Kindly put some valuable inputs.
    Regards

    >
    astosh wrote:
    > 2.Milestonewise Billing for completion of each floor, Like for 0% completion of work 10% billing can be done, for 100% Completion of first floor 20% billing to be done.
    > Regards
    You can create activities for each task and attach milestone on it. when you complete the task confirm the activity so system will automatically confirm milestone as well, which will remove the billing block.
    >
    astosh wrote:
    > 3.Is there any way to know whether the completion of floor is occured or not.
    > Regards
    System wont know automatically, your project engineer should confirm the activity based on the completion of tasks.
    >
    astosh wrote:
    > 4.Please elaborate process to be incorporated while making Sales order.
    >
    > Regards
    Search the forum there are many posts available and also refer sap help for milestone billing.
    Tnx.
    Abdul

  • Need to create high & low payment based on 20% down for both 36 and 42 month lease terms.

    I have 3 different tables on my worksheet and need to formulate low and high payment scenarios for both 36 and 42 month lease terms based on 20% down. Help.

    trods wrote:
    Anyone?
    Patience, trods. Remember that this is a user-to-user forum, and the participants arrive when they choose to or are able to, not according to a work schedule set by an employer.
    On your question:
    So far you have supplied two factors, and implied a third, that would affect the size of the payments to be made:
    Total amount, downpayment as a percentage of the total amount, and the term on the agreement in months.
    From that you want to calculate a "low payment scenario" and a "high payment scenario" for a term of 36 months, and the same two scenarios for a term of 42 months.
    Missing from the data is whatever factor determines how a "low payment scenario" differs from a "high payment scenario." What's missing?
    Regards,
    Barry

  • Vendor Payment Based on the UD code

    Dear guru's
    I want to have a functionality wherein if I found a certain qty of material is OK and rest are rejected then the payment should only be done for the accepted quantity.
    Please help.
    Regards
    Debjeet

    check answer
    miro for unrestricted use qty only

  • Cash and Payments based GST reporting

    Hi
    In Australia and New Zealand some small business have the option of reporting tax (gst) on cash basis.  Meaning its only reported to the tax offices once the invoice is paid and the period its paid in.  This is an option provided by the tax offices in the respective countries.
    Currently the B1 2007A version does not handle this.  It only reports tax on invoice basis.
    In the French and some other localisations SAP B1 provides the option of Deferred Tax reporting which works similarly to the requirements above.
    Can this feature be made available in the Australia and New Zealand localisations?
    Regards
    Ashvin

    Answered.

  • Payment Method Supplement Check Deactivation in F110 for already posted doc

    Hi,
    Is there a way to Payment Method Supplement Check Deactivation in F110 for already posted documents.
    The background: Some invoices are posted for a vendor when there is a pmt supplmnt method "L-large". Subsequently payment method supplement in vendor master was changed to 'S'. There is debit note posted with pmt method supp 'S' in document. Now while doing F110 system is splitting up the payments based on pmt method supplmt and theline item with debit balance is going in error because of debit balance. As a result the debit balance is not getting knocked off with the credit balance line item.
    Request you to help us in finding out if there is any way to generate onlyone line item in F110. Please rule out the option of changing the pmt supplmt at document level.
    Regards,
    nikhil

    Hi Nikhil,
    If you are not changing the payment supplement in the document, F110 itself will not allow you to change that. You can possibly deactivate the Payment method temporarily in customizing, run the F110 with only the affected vendors. and activate back the payment method supplement in customizing. You can activate this under APP customizing (FBZP) "All company codes" under the control data section
    Ron

  • Payment Order generation through F110

    Hi Dear one,
    Our business requirment is they want to run the payment order based on Vendor invoice due dates(eg:if one vendor has number of invoices we want to run the payment based on invoices due dates )
    your intime reply  is highly appreciated
    Thanks & Regards
    Vyshnava

    Hi Trinath,
    No additional configuration is required. However specify following in co.code pymt method,
    select with a tick
    Foreign Vendor allowed,
    Foreign currency allowed and
    Customer Vendor bank abroad allowed.
    What chris mentioned was the main key. If a particular USD invoice needs to paid in INR,then edit the original invoice and change the payment currency to INR. If you don't see payment currency field, edit vendor/posting key FSG. That's it.
    Thanks Chris once again.
    Regards,
    Sam

Maybe you are looking for

  • SharePoint 2013 Apps shows 404 page not found on web front end servers.

    Hi All, We are implementing SharePoint Apps for our UAT environment with 1 application server and 2 WFEs. In our development server which is single server worked for implementing SharePoint Apps. All our web applications WFEs are hosted UAT environme

  • SELECT query with subquery

    Hello, Assuming the DreamHome scenario: Viewing is a nested table of Property; Viewing references Client. Does anyone have any idea how to do the following query: Identify all clients who have viewed ALL properties with three rooms in a given city (n

  • DME file in Format 1100-in ECC 6.0

    we are upgrading to ECC6.0,as per ECC6.0 the DME file generates in Unicode format,but our client needs it in standard format (code page format1100)ECC6.0 gives in 4103 format by default   prob with the unicode file is the output is coming only in one

  • Modify ACH file format in F110

    Hi everyone I have to modify the ACH file format using PMW How do i proceed? Do I copy the function module FI_PAYMEDIUM_ACH_30 and add the necessary codes then assign it to event 30 in FBZP or there is a BTE to enhance the event modules? thanks a lot

  • How to use SNRO to create daily number range?

    Dear all, I would like to know how to use SNRO to create a daily number range. We would like to have the following sequence. The first 8 digits are date and the last 2 digits are number sequence. Each day, the last 2 digits will start from 01 again.