Extended Functionality in Oracle Payables Without Custom Code

download Extended Functionality in Oracle Payables Without Custom Code

of 10

Transcript of Extended Functionality in Oracle Payables Without Custom Code

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    1/10

    Extending Functionality in Oracle Payables without Custom Code

    Francis J. BreslinOracle Corporation

    IntroductionCustomers will often ask purely functional questions onthe phone support line. These questions are usually onthe order of How do I .... Most times the analyst willexplain how to perform the procedure, then point to thepassage in the manual that describes this functionality indepth. Sometimes even the most careful reading of theTopical Essays does not provide an answer. In thesecases the analyst may just have to say: Payables doesnot have this functionality now, but I can log anenhancement request."

    If the desired functionality is critical, you couldcustomize an existing form or create a whole new formor process to accomplish your needs. This opens up anumber of possible complications. Customizationsrequire careful design and coding, and you would haveto re-implement any customizations to a standardprocess when you apply a patch from Support to updatethat process.

    You can explore another avenue when trying toimplement a process that is not explicitly defined in themanuals. With sufficient knowledge of how the systemworks, you can create a workaround that will implementthe functionality required, without actually writing anycustom code.

    This paper will examine a workaround for five suchprocesses: third party payments, internal bank transfers,manual journal entries made in Payables, supplierrefunds, and 1099 invoice adjustments after payment.

    You implement third party payments and internal bank transfers by manipulating how Oracle Payables postsinvoice and payment information to the General Ledger.You implement manual journal entries and supplierrefunds by manipulating how Oracle Payables postszero amount invoices and Standard Invoice/Debit Memopairs.

    These four procedures are based on the followingassumption: the ultimate purpose of the Payablessystem is to post journals to the General Ledger systemthat accurately reflect the Payables activity. If thePayables system makes correct net accounting entries,then the process is valid. The 1099 processingworkaround also uses Standard Invoice/Debit Memopairs, but does not rely directly on GL Posting.

    Posting: The Ten Cent TourSince four of the proposed workarounds depend on howPayables posts journals to the General Ledger, I willgive a quick overview of the AP to GL posting process.Posting from Payables to the General Ledger is a twostep process. In the first step, the concurrent program

    AP to GL Transfer takes information from invoice andpayment distributions and loads it into theGL_INTERFACE table. The second step, Journal

    Import takes the information from GL_INTERFACEand populates GL_JE_BATCHES ,GL_JE_HEADERS and GL_JE_LINES .

    The AP_INVOICE_DISTRIBUTIONS table holdsinvoice accounting information. Payables populatesrows in this table through the Invoice Workbench , eitherby operator data entry or by PO matching. Duringposting, each row in this table generates two rows in theGL_INTERFACE table. The AMOUNT columnholds the dollar amount for an invoice distribution.DIST_CODE_COMBINATION_ID holds the CodeCombination ID (CCID) of the expense account entered,and ACCTS_PAY_CODE_COMBINATION_IDholds the CCID of the AP Liability account for adistribution. This CCID defaults from the Supplier Siterecord.

    If AMOUNT is positive, Payables creates a debit to theExpense CCID and a credit to the AP liability CCID. If AMOUNT is negative, Payables makes a debit to theAP Liability CCID and a credit to the Expense CCID.

    The table AP_PAYMENT_DISTRIBUTIONS holdsthe payment accounting information. Payablespopulates rows in this table when you confirm apayment batch, or when you create QuickChecks andManual Payments. The rows in this table are related torows in the AP_INVOICE_DISTRIBUTIONS tableby the column INVOICE_DISTR_LINE_NUMBER .Each row in this table also generates two journal entries

    in the GL_INTERFACE table during posting. TheAMOUNT column holds the amount for the paymentdistribution. DIST_CODE_COMBINATION_IDholds the CCID for the Cash account defined for thebank account on which the payment is being made. Thecolumn ACCTS_PAY_CODE_COMBINATION_IDholds the CCID of the AP Liability account for thedistribution and is the same as the AP Liability CCID of the related Invoice Distribution.

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    2/10

    If AMOUNT is positive, Payables creates a debit to theAP Liability CCID and a credit to the Cash CCID. If AMOUNT is negative, the system creates a debit to theCash CCID and a credit to the AP Liability CCID.

    Format

    I will present each of the functionality workarounds inthe following format:

    Functionality name: The name and a short description.Overview: A high level description of the workaround,explaining in general terms how the process works.Setup: What one time setup steps are required.Processing: What transaction processing you need todo. What GL journals will Oracle Payables create whenthe posting concurrent programs are run?

    Third Party PaymentsA third party payment is when you create an invoice to

    one supplier, but ultimately send a payment on thisinvoice to another supplier. One of the most commonexamples of this functionality would be the use of procurement cards to handle some purchasing, such asusing a company credit card to purchase office supplies.An invoice with a distribution to the office suppliesaccount is created for the office supply vendor, but thepayment made by check is to the credit card company.

    This is troublesome in Oracle Payables because in orderto cut a check to the credit card company an invoicemust be created. The supplier invoice is not being paid,at least not by reducing the cash in a bank account. Itwould be possible to zero out the supplier invoice andcreate an invoice directly to the credit provider, but1099 processing makes this non-viable. In order forPayables to include a 1099 invoice in the 1099 form fora supplier, you must make a payment on that invoice tothat supplier.

    OverviewYou implement third party payments using the followingprocedure. Create an invoice (the original invoice) tothe supplier from which the purchase was made. Pay theoriginal invoice using a special dummy bank accountthat has as its cash account an account of type Liability(the third party payee liability account). Later youcreate an invoice to a supplier that represents the thirdparty payee. This invoices distributions will have thethird party payee liability account as the expenseaccount. Pay this invoice in a regular payment batch.

    SetupCreate Account Segment values. (Required)GL Responsibility, Segment Values form[N] > Setup > Financials > FlexFields > Key > Values

    In the Find Key Flexfield Segment window, enterOracle General Ledger in the Application field,Accounting in the Title field, the name of the accountstructure you are using in Payables in the Structure field,and Account in the Segment field. Click the [Find]button. The system displays a list of valid account

    values. Create a new account segment value for eachthird party payee you want to track separately. If purchasing is done using one of three credit cardaccounts, then you should create three new accountvalues. The exact value used will be dependent on thenumbering scheme at your site. Each new account valuecreated must have the qualifiers Allow Posting = Yesand Account type = Liability.

    Create Accounting Code Combinations (Optional if Accounting Flexfield allows for dynamic insertions,required otherwise.)GL Responsibility, GL Accounts form[N] > Setup > Accounts > Combinations

    Enter the full code combination for each third partypayee you want to track to separately. Use a valuecreated above in the account segment. The values forthe other segments should be entered according theaccount numbering scheme at your site. Accept all thedefaults the system offers for the other fields in thisform.

    Create Dummy Bank Account (Required)AP Responsibility, Bank form[N] > Setup > Payments > Banks

    Enter the bank and bank branch Name in such a way asto identify it as a non-standard bank and bank branch.The description should explain the exact nature of thebank. You need to define at least one bank and bank branch. You should relate all of the various bank accounts used for your third party payees to one bank and bank branch.

    Click the [Accounts] button. The Accounts window willdisplay. In the Name field, enter something that willdescribe the third party payee. If the third party payee isa credit card company you could enter the name andpossibly the account number. Leave the other fields inthis region to the default values. You need to create oneaccount for each third party payee.

    Choose GL Accounts in the alternate region drop downfield. In the Cash Account field enter the codecombination created for this third party payee. If youare using reconciliation accounting, also enter this codecombination as the cash clearing account.

    Click the [Payables Documents] button. The PaymentDocuments window will display. Enter the Payment

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    3/10

    Document Name. This is a free form character field.You should enter Combined as the DisbursementType. You can use any Payment Format in the LOV,since you will not be printing the payments.

    Choose Additional Information in the alternate regiondrop down field. Enter 0 as Last Used and some veryhigh number (999999) as the Last Available documentnumber. You should leave the number of setupdocuments and the clearing days blank.

    Create New Pay Group (Required)AP Responsibility, QuickCodes form[N] > Setup > Quickcodes > Payables

    Enter Pay Group in the Type field, somethingdescriptive, such as CitiBank Credit Card Invoices inthe Name field, and a meaningful description forDescription field. Let all other fields keep the defaultedvalue. You should create one Pay Group One for each

    third party payee.Create Distribution Set (Optional)AP Responsibility, Distributions Sets form[N] > Setup > Invoices > Distribution Sets

    If the invoice to the third party payee will only have onedistribution for the full amount of the invoice, then adistribution set should be assigned to the supplier site tospeed up data entry.

    In the top portion of the Distribution Sets form entersomething descriptive in the Name and Descriptionfield. These are free form character fields. Leave the

    other fields as defaulted. In the lower portion, enter 1in the Num field and 100 in the Percent field. Enterthe third party payee liability code combination for thethird party payee in the Account field. Leave the otherfields as the defaults.

    Create New Supplier and Supplier Site (Required)AP Responsibility, Suppliers form[N] > Suppliers > Entry

    Enter the Supplier and Supplier Site records for the thirdparty payee as any other supplier. The actual values forthe various fields are dependent on the policies at yoursite. Ordinarily there would be one Supplier andSupplier site per third party payee, but there could besituations where you would have more than one suppliersite to a supplier. You could have several credit cardaccounts with the same credit card provider. In that caseyou could create Supplier record (CitiBank Visa), andmultiple Supplier Site records (Account #1, Account #2,Account #3, etc.). Unfortunately the Supplier site nameonly allows for 15 characters and most credit cardaccount numbers are 16 digits. If you are using a

    distribution set, you assign it in the Accounting alternateregion of the Supplier Site window.

    ProcessingI will use the following business scenario to illustratethird party payment processing. You have made a$100.00 credit card purchase, on a CitiBank Visa Card,for office supplies. You have already done all requiredsetup.

    Create Original InvoiceAP Responsibility, Invoice WorkBench[N] > Invoices > Entry > Invoices

    Processing of third party payments begins with theInvoice to the original supplier. You should enter thisinvoice according to your ordinary procedures with twoexceptions. The Pay Group for the invoice should bethe Pay Group that you created for CitiBank Visa (as thethird party payee). You should enter Immediate for

    the terms. This assures that AutoSelect will pick up theinvoice in the correct payment batch. Approve thisinvoice using normal procedures.

    The $100.00 invoice will generate the following journals in the General ledger:

    Account Debit Credit

    Office Supplies 100.00

    AP Liability 100.00

    Pay Original Invoice on Dummy Bank Account

    AP Responsibility, Payments WorkBench[N] > Payments > Entry > Payments or Payment Batches

    Now pay the original invoice on the bank accountcreated for CitiBank Visa. If you are only paying onesupplier, you should use a manual payment. This is oneplace where you must be careful. The system has noway to validate that the invoice being paid is actually forthe third party payee associated with the bank account.Since you are not actually sending this payment to thevendor, you do not want to include any invoices that arenot being paid by the third party payee.

    If you are paying more than one supplier at a time, youshould use a payment batch. Start the Payment WorkBench as usual and begin to enter a payment batch.Enter the bank account and pay group that you set up forCitiBank Visa. You should enter all other options in thePayment Batches form as usual.

    Process the payment batch as usual with the followingexception. You should not print the file created by this

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    4/10

    payment batch. After you confirm the payment batch,Payables will post the following journals:

    Account Debit Credit

    AP Liability 100.00

    CitiBank Visa 100.00

    Create Invoice to Third Party PayeeAP Responsibility, Invoice WorkBench[N] > Invoices > Entry > Invoices

    You do the rest of the processing after you receive thebill from CitiBank. Create an invoice to the Supplierand Supplier Site you setup for CitiBank Visa. If youonly want one distribution for the full amount of theinvoice, you can use a distribution set to speed dataentry. If you need to record each item on the billseparately as an invoice distribution, you can use adescriptive flexfield on the Invoice Distribution table totrack reference numbers. In either case you MUST usethe third party payee liability account set up forCitiBank Visa as the distribution account. You thenapprove this invoice as usual.

    Assuming that there is only one item in the CitiBank billthis time, The invoice will generate the following

    journals in the General ledger:

    Account Debit Credit

    CitiBank Visa 100.00

    AP Liability 100.00

    Pay Invoice to Third Party PayeeAP Responsibility, Payment WorkBench[N] > Payments > Entry > Payments or Payment Batches

    Based on the invoices payment terms, AutoSelect willeventually select the second invoice for payment, or youcan pay it using a Manual Payment or a QuickCheck.There is no special processing for the payment to thethird party payee. After you confirm the payment,Payables will post the following journals:

    Account Debit CreditAP Liability 100.00

    Cash 100.00

    The net accounting is

    Account Debit Credit

    Office Supplies 100.00

    Cash 100.00

    All of the AP Liability entries and CitiBank Visa entriescancel each other out leaving the correct net journalentry. The accounting code combination used in thethird party payees bank account must be of typeLiability for the interim accounting to be correct. Thisis because even though you have paid the originalinvoice (reduced the AP Liability), you are still liablefor the amount.

    Internal Bank Transfers

    Many Payables operations use several bank accounts tomake payments. From time to time it may be necessaryto transfer funds from one bank account to another. Youdo this by calling the sending bank and directing them totransfer funds between accounts in the same bank, or towire funds to an account with a different bank.

    Oracle Payables does not directly support this kind of transaction. You could use a manual journal entry inGL, but it could take some time.

    OverviewYou implement internal bank transfers by creating aninvoice to a Supplier and Supplier Site that represents

    the receiving bank account, then paying it on a wirepayment from the sending bank account. The accounton the invoice distribution is the cash account for thebank account receiving funds in the transfer.

    SetupCreate Distribution Set (Required)AP Responsibility, Distributions Sets form[N] > Setup > Invoices > Distribution Sets

    This distribution set will hold the accounting codecombination for the cash account in the receiving bank.In the top portion of the Distribution Sets form entersomething descriptive in the Name and Descriptionfield. These are free form character fields. Leave theother fields as defaulted. In the lower portion, enter 1in the Num field and 100 in the Percent field. Enterthe code combination of the cash account of the bank account for the receiving bank. Leave the other fields asthe defaults. You should create one distribution set foreach bank account in your system.

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    5/10

    Create Supplier and Supplier Site (Required)AP Responsibility, Suppliers form[N] > Suppliers > Entry

    Enter the Supplier and Supplier Site records thatrepresent the receiving bank account. The actual values

    for the various fields are dependent on the policies atyour site with the following exceptions. The defaultTerms should be Immediate, the Payment Methodshould be Wire and the default distribution set shouldbe the one created for the receiving bank account. Youassign the terms and the payment method in the Paymentalternate region. You assign the distribution set in theAccounting alternate region. You should create onesupplier for each bank, and one supplier site for eachbank account.

    Create Payment Document in Sending Bank(Optional)AP Responsibility, Banks form[N] > Setup > Payment > Banks

    Since you are not going to send any payments tosuppliers, you should make the payment on a documentcreated specifically for that purpose.

    Open the Banks form and query the sending bank. Click the [Accounts] button. This will display the Accountswindow. Query up or use the down arrow to display thesending bank account. Click the [Payables Documents]button.

    In the Payment Document window enter a new paymentdocument. Make the name descriptive, such as Bank Transfers". The Disbursement type should beRecorded and the Payment Format should be one of type Wire.

    In the Last Used field enter a number that is greater thanthe largest number in Last Available for any otherpayment document for this account.

    You need to do this for each bank account that will bereceiving bank transfers.

    ProcessingI will use the following business scenario to illustrateinternal bank transfers. You need to transfer $1,000.00

    from the Sun Trust Operating account to the Sun TrustReserve account. You have already done all requiredsetup.

    Create Invoice to Receiving BankAP Responsibility, Invoice Workbench[N] > Invoices > Entry > Invoices

    After you contact Sun Trust and the transfer of funds hasbeen done, you create an invoice for $1000.00 to the

    Supplier and Supplier Site set up for the Sun TrustReserve account. Due to the Supplier Site defaults, thisinvoice will have Terms of Immediate and singleDistribution for $1,000.00 to the cash account for SunTrust Reserve. Approve the invoice as usual.

    The Invoice will generate the following GL journals:

    Account Debit Credit

    Cash: Sun Trust Reserve 1,000.00

    AP Liability 1,000.00

    Pay Invoice From the Sending BankAP Responsibility, Payments WorkBench[N] > Payments > Entry > Payments

    You should pay this invoice immediately after you enterit. Use the Payments form to enter a Manual Payment.

    Enter Sun Trust Operating as the Bank Account,Bank Transfer as the Document Name, 1,000.00 asthe Amount and Sun Trust Reserve as the Supplierand Supplier Site. Click the [Enter/Adjust Invoices]button. In the Select Invoices window enter the invoiceyou created in the previous step.

    The payment will generate the following GL journals:

    Account Debit Credit

    AP Liability 1,000.00

    Cash: Sun Trust Operating 1,000.00

    The net accounting is

    Account Debit Credit

    Cash: Sun Trust Reserve 1,000.00

    Cash: Sun Trust Operating 1,000.00

    This is the exact manual journal you would that havemade in this situation.

    Manual Journal EntriesFrom time to time it may be necessary for you to make amanual journal entry to correct some problem. Possiblyyou used an incorrect account while creating an invoiceor a payment and it is too late to change them. If theordinary procedure of requesting such a journal entrywould cause unwanted delays, it is possible to emulate amanual journal entry with Payables activity.

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    6/10

    OverviewYou implement a manual journal entry by creating eithera zero amount invoice or a Standard Invoice/DebitMemo pair.

    With a zero amount invoice, you create one or morepositive distributions to the accounts you want to debit,and one or more negative distributions that sum to thenegative of the same amount to the accounts you want tocredit. You can use any supplier and supplier site forthis invoice, though you should create a special dummysupplier for this purpose.

    In a Standard Invoice/Debit Memo pair, you create aStandard Invoice to the accounts you want to debit, anda Debit Memo to the accounts you want to credit. It iscrucial that Standard Invoice and the Debit Memo sumto zero.

    In either case, you will use a zero amount manualpayment to pay the invoices so they do not show up inaging reports. The bank account used to make themanual payment must allow zero amount checks.

    If the Payables Option Automatic Offset method is notNone, then you must use the Standard Invoice/DebitMemo method. This is due a problem with zero amountinvoices and the Trial Balance report.

    Set upCreate Supplier & Supplier Site for ManualJournals (Optional)AP Responsibility, Suppliers form[N] > Suppliers > Entry

    Enter the Supplier and Supplier Site records for adummy supplier you will use to make manual journalentries. Take the system defaults for all fields exceptPayment Terms which should be Immediate. Thereshould not be a need for more than one supplier site.

    Set Bank Account to Pay Zero Amount Checks(Required if not already set up this way)AP Responsibility, Bank form[N] > Setup > Payments > Banks

    Open the Banks form and query the bank that will bemaking the zero amount payment. Click the [Bank

    Accounts] button. This will display the Accountswindow. Query up or use the down arrow to display thecorrect bank account. Choose Payables Options in thealternate region drop down field. Check the Allow ZeroPayments check box.

    Since you will not be sending the checks made in themanual journal process to a supplier, you should use aspecial payment document so that you do not use validcheck numbers. Click the [Payables Documents] button.

    In the Payment Document window enter a new paymentdocument. Make the name descriptive, such as ManualJournals. The Disbursement type should beRecorded and the Payment Format should be one of type Check.

    Choose Additional Information in the alternate regiondrop down field. In the Last Used field enter a numberthat is greater than the largest number in Last Availablefor any other payment document for this account.

    You need to do this for each bank account that will bereceiving bank transfers.

    ProcessingI will use the following business scenario illustratemanual journal entries. You want to debit $500.00 tothe Office Supply account, $250.00 to the Freightaccount and credit $750 to the Office Furnishingsaccount. Sun Trust Operating will be the payment bank account. You have already done all the setup.

    Create Zero Amount InvoiceAP Responsibility, Invoice WorkBench[N] > Invoices > Entry > Invoices

    Zero Amount Invoice Method: Create an invoice for$0.00 to the Manual Journals supplier and supplier site.Accept all system defaults. In the Distributions windowenter a distribution of $500.00 using the codecombination for Office Supplies, a distribution for$250.00 using the code combination for Freight, and adistribution for -$750.00 using the code combination forOffice Furnishings.

    Standard Invoice / Debit Memo Method: Create aStandard type invoice for $750.00 to the ManualJournals supplier and supplier site. Accept all systemdefaults. In the Distributions window enter a distributionof $500.00 using the code combination for OfficeSupplies, a distribution or $250.00 using the codecombination for Freight.

    Create a Debit Memo type invoice for -$750.00 to theManual Journals supplier and supplier site. Accept allsystem defaults. In the Distributions window enter adistribution for -$750.00 using the code combination forOffice Furnishings.

    In either case when you approve the invoices, Payableswill post the following journals to the GL:

    Account Debit Credit

    Office Supplies 500.00

    AP Liability 500.00

    Freight 250.00

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    7/10

    Account Debit Credit

    AP Liability 250.00

    AP Liability 750.00

    Office Furnishings 750.00

    Pay invoices on a zero amount manual checkAP Responsibility, Payments WorkBench[N] > Payments > Entry > Payments

    You should make this payment immediately aftercreating the invoices. Enter Manual in the Type field,Sun Trust Operating in the Bank Account field,Manual Journals in the Document Name field, 0 inthe Amount field and Manual Journals in the Supplierand Supplier Site fields.

    Click the [Enter/Adjust Invoices] button. In the SelectInvoices window, enter the zero amount invoice, or theStandard Invoice and the Debit Memo depending on themethod used.

    The payment of a zero amount invoice does not generateany accounting information (that is part of the reasonwhy you can not use this method if you use AutomaticOffsets.) The payment of a Standard Invoice / DebitMemo pair will generate the following GL journals:

    Account Debit Credit

    AP Liability 500.00

    Cash: Sun Trust Operating 500.00

    AP Liability 250.00

    Cash: Sun Trust Operating 250.00

    Cash: Sun Trust Operating 750.00

    AP Liability 750.00

    All of the AP Liability and Cash: Sun Trust Operatingcancel each other out leaving:

    Account Debit Credit

    Office Supplies 500.00

    Freight 250.00

    Office Furnishings 750.00

    Which is the manual journal you would have created inGL.

    Supplier RefundsIn the ordinary operation of a Payables shop, there willcome times that a supplier will want to refund somemoney. Perhaps they inadvertently overcharged for aninvoice or possibly there was a return of goods. Theusual processing would be to create a Credit Memo

    invoice that would reduce the amount of the nextpayment to the supplier. However, if the supplier sendsa check there can be a problem.

    Oracle Payables does not handle receipts. The problemis that there is no standard form or process that willDebit the cash account of a payment bank.

    OverviewSupplier refunds process is an example of a specific typeof manual journal entry.

    If you are using the zero amount invoice method, youenter a positive distribution to the cash account of thebank account where you deposited the check. You willalso enter one or more negative distributions that sum tothe same amount to some expense accounts. If thesupplier identifies the invoices the refund is related to,you can derive the expense accounts from thatinformation. It may be necessary to define a newaccount and code combination to record miscellaneoussupplier refunds.

    If you are using a Standard Invoice/Debit Memo pair,you should make the Standard invoice to the cashaccount of the bank account where you deposited thecheck. The Debit Memo should be the negative amountof the Standard Invoice to one or more expense

    accounts.SetupSupplier and BankSee Setup for manual journal entries.

    Create Account Segment Values . (Optional)GL Responsibility, Segment Values form[N] > Setup > Financials > FlexFields > Key > Values

    In the Find Key Flexfield Segment window, enterOracle General Ledger in the Application field,Accounting in the Title field, the name of the accountstructure you are using in Payables in the Structurefield, and Account in the Segment field. Click the[Find] button. The system displays a list of validaccount values. Create a new account segment value formiscellaneous supplier returns. This new account valuecreated must have the qualifiers Allow Posting = Yesand Account type = Expense. The exact value youuse is dependent on the numbering scheme at your site.

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    8/10

    Create Accounting Code Combinations (Required if setting up an accounting code for miscellaneous supplierrefunds and dynamic insertions are not allowed.)GL Responsibility, GL Accounts form[N] > Setup > Accounts > Combinations

    Enter the full code combination for the miscellaneoussupplier refund account. Accept all he defaults thesystem offers for the other fields in this form.

    ProcessingI will use the following business scenario to illustrate asupplier refund. ACME Office Supplies issued you acheck for $50.00 as a refund for an invoice to theOffice Supplies account. Sun Trust Operating is thebank account that where you deposited the check. SunTrust Operating is also the payment bank account. Youhave already done all required setup.

    Create Zero Amount InvoiceAP Responsibility, Invoice WorkBench[N] > Invoices > Entry > Invoices

    Zero Amount Invoice Method: After you deposit thecheck into Sun Trust Operating, create an invoice for$0.00 to the supplier and supplier site that sent thecheck. Accept all system defaults. In the Distributionswindow enter a distribution of $50.00. Use the codecombination for bank account where you deposited thecheck. Also create a distribution for -$50.00 using thecode combination for Office Supplies.

    Standard Invoice/Debit Memo Method: Create aStandard invoice for $50.00 to the supplier and supplier

    site that sent the check. Accept all system defaults. Inthe Distributions window enter a distribution of $50.00using the code combination for bank account where youdeposited the check.

    Create a Debit Memo invoice for -$50.00 to the supplierand supplier site that sent the check. Accept all systemdefaults. In the Distributions window enter adistribution for -$50.00 using the code combination forOffice supplies.

    In either case when you approve the invoices, Payableswill post the following journals the following journals tothe GL:

    Account Debit Credit

    Cash: Sun Trust Operating 50.00

    AP Liability 50.00

    AP Liability 50.00

    Office Supplies 50.00

    Pay invoices on a zero amount manual checkAP Responsibility, Invoice WorkBench[N] > Payments > Entry > Payments

    You should make this payment immediately aftercreating the invoices. Enter Manual in the Type field,

    Sun Trust Operating in the Bank Account, ManualJournals in the Document Name, 0 in the Amountand Manual Journals in the Supplier and Supplier Site.Click the [Enter/Adjust Invoices] button. In the SelectInvoices window enter the zero amount invoice, or theStandard Invoice and the Debit Memo depending on themethod used.

    The payment of a zero amount invoice does not generateany accounting information(and that is part of the reasonwhy you can not use this method if you use AutomaticOffsets.) The payment of a Standard Invoice / DebitMemo pair will generate the following GL journals:

    Account Debit CreditAP Liability 50.00

    Cash: Sun Trust Operating 50.00

    Cash: Sun Trust Operating 50.00

    AP Liability 50.00

    All of the AP Liability entries and all but one debit entryto Cash: Sun Trust Operating cancel each other outleaving:

    Account Debit CreditCash: Sun Trust Operating 50.00

    Office Supplies 50.00

    1099 Invoice AdjustmentsDuring 1099 season, from about the beginning of November through the following February, it maybecome necessary to correct the 1099 information on aninvoice that you have long since paid and posted. If the

    only change is to correct the 1099 type on an invoicedistribution, then you can change the old posted invoicedistributions directly. This is because this has noaccounting impact. However if the amount on a 1099invoice distribution is wrong then you will have to dosome additional processing.

    OverviewTo adjust the amounts on a 1099 Invoice requirescreating a Standard Invoice / Debit Memo pair in the GL

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    9/10

    period of the original invoice, even if you have toreopen the period. You use the Debit Memo to back out the original Invoice information. You do this bycreating negative distributions for each positivedistribution in the invoice that needs to be adjusted. TheStandard invoice has distributions with the correct

    amounts. You then pay these invoices on a zero amountcheck with a payment date in the original period. Thenyou post everything and close the period.

    You must use a Standard Invoice/Debit Memo pairrather than a zero amount invoice due to how OraclePayables chooses which paid invoices to are included ina suppliers 1099 form. Oracle Payables includes aninvoice distribution on a suppliers 1099 form if thefollowing conditions are met. The distributions invoiceis for the supplier in question. The invoice distributionhas a 1099 type. The balancing segment of the cashaccount on the associated payment distribution is in thelist of balancing segments for the Reporting Entityparameter, and the payment date is within the date rangeparameters. Since payments made on zero amountinvoices generate no payment distributions, you can notuse a zero amount invoice to adjust a paid 1099 invoice.

    SetupThere is no special setup required for adjusting paid1099 invoices.

    ProcessingI will use the following business scenario to illustrateadjusting a paid 1099 invoice. Able Consulting installeda new computer network for you and was paid$10,000.00. You entered an invoice in the May periodfor $10,000.00 with a single distribution for $10,000.00to the Consulting Services account. You used the 1099type of MISC3 for this distribution. You generated the1099s and sent them to your suppliers. A call isreceived from Able Consulting indicating that $6,000.00of the invoice was for hardware and software, thus not1099 reportable. Able Consulting needs to get a 1099form that only reflects $4,000.00.

    Open May PeriodGL Responsibility, Open and Close Periods form[N] > Setup > Open/Close

    Query MAY-97 in the Period field, or use the downarrow until the cursor is in the MAY-97 period. In theStatus field enter Open. Commit.

    AP Responsibility, AP Accounting Periods[N] > Setup > Calendar > Accounting > AP AccountingPeriods.

    Query MAY-97 in the period field or use the downarrow until the cursor is in the MAY-97 period. In theStatus field enter Open. Commit.

    Create Debit MemoAP Responsibility, Invoice WorkBench[N] > Invoices > Entry > Invoices

    Create a Debit Memo for the negative amount of theoriginal invoice (-10,000.00). The Terms should beImmediate and the GL Date should be the GL date of the original invoice. You should create the distributionsby matching the Debit Memo to the original invoice.This will assure that you use the correct accounting and1099 type.

    Create Standard InvoiceCreate a Standard Invoice for the same amount as theoriginal invoice ($10,000.00). The Terms should beImmediate and the GL Date should be the GL date of

    the original invoice. You should create the distributionswith the correct amounts and 1099 types. In this caseyou would enter a $4,000.00 distribution to theConsulting Services account with a MISC3 1099 type.You would also enter a $6,000.00 distribution to theConsulting Services account with a NULL 1099 type.The net amount must be the same as the original invoicesince you have already made this payment to thesupplier.

    Pay Invoices on a Zero Amount Manual PaymentAP Responsibility, Payment WorkBench[N] > Payments > Enter > Payments

    Since you are not sending a payment to the supplier, amanual check would be best way to pay these invoices.You should pay these invoices immediately after youcreate them to avoid the chance that AutoSelect willpick them up in a payment batch. The Payment dateshould be some date in the original period, other thanthat you should make the manual payment as usual usingan appropriate bank account and payment document.

    Post JournalsAP Responsibility, Submit Requests form[N] > Other > Requests > Run

    Run the AP to GL Transfer concurrent program to postthese journals to the GL. To be sure that only journalscreated in this process are posted use the last day of theoriginal period as the post through date.

    Close Original Period .GL Responsibility, Open and Close Periods form[N] > Setup > Open/Close

  • 8/12/2019 Extended Functionality in Oracle Payables Without Custom Code

    10/10

    Query MAY-97 in the Period field, or use the downarrow until the cursor is in the MAY-97 period. In theStatus field enter Closed. Commit.

    AP Responsibility, AP Accounting Periods[N] > Setup > Calendar > Accounting > AP AccountingPeriods.

    Query MAY-97 in the Period field, or use the downarrow until the cursor is in the MAY-97 period. In theStatus field enter Closed. Commit.

    ConclusionThe goal of this paper is two fold.: to give you an ideaof the flexibility of Oracle Payables and to provide a fewconcrete examples of this flexibility. You should alwaysseek a non-customized solution to a problem beforeresorting to fiddling with the code. It is easier tomaintain and much easier to support.

    About the Author

    Francis Breslin has been working as a Support Analystfor over three years in the Orlando, Florida SupportCenter. He has about eight years experience withdesigning, implementing, and supporting financialsystems using Oracle databases, forms and reports.