Oracle AR -Difference between PARTY and CUSTOMER

Difference between PARTY and CUSTOMER?

1. When we create New Customer in ERP, why a PARTY will be created automatically?
2. Can I create a Customer without Party?
3. Can I create a Party without Customer?
There is already a lot of material out there on this topic. There are a couple of articles on this, on oracle forums as well. I will try to explain this as elaborately as possible and not waste my “thanksgiving holiday”. I can get really pedantic at times, when im bored.Oracle as a company was basically into ERP solutions only. As part of its efforts and vision to branch out into every other application such as SCM, CRM and other domains, it started acquiring smaller companies. It acquired Siebel which was one of the industry leaders in the CRM domain. Just to provide some insight into CRM, it is an acronym for Customer Relationship Management. Any CRM is basically a marketing tool. If you understand the definition of the word “marketing”, you will easily understand the difference between a party and customer.

Marketing is the process of identifying, creating and retaining a customer. CRM tools essentially deal with that process. It is used by companies to identify potential customers, make them buy something from the company, maintain effective relationships with them to retain them for repeat purchases as well. This is what CRM does.

But an ERP like oracle does not have any relationship with a person unless he buys something from the company. A customer is someone who has a buying relationship with the company. So how do we distinguish between a person who has bought something and someone who hasnt purchased anything from you? This is where the party definition comes into picture. A party is anybody that exists. He/She/It does not have to have bought something from the company earlier. In fact, they do not have any relationship whatsoever with the company. So how does the company make them buy something? This is where CRM helps. It helps the company in identifying such people, create some marketing campaigns to make them buy something and convert them into the company’s customers, and keep maintaining relationships with them so that they will keep buying from them in the future as well.

Oracle purchased Siebel CRM to target these companies which require CRM tools to create, maintain and retain new customers. Prior to 11i, Oracle had the customer tables only. It did not have to deal with non-customers. Anyone who purchases becomes a customer and is stored in the ar customer tables. When Oracle bought CRM, it needed to incorporate the concept of a ‘potential”  and “repeat” customer into the existing data model. It could not have had separate schemas or databases for CRM tools and ERP tools. Since CRM and ERP have to talk to each other, they wanted one single model to incorporate customers who bought and people who have not purchased. So they created a layer over the customer definition called party and said “Anyone who exists is a party”. Once this party buys something, it becomes a customer. Kindly note that it is still a party. It is both a party and customer as well after the purchase is made. So for a person to become a customer, he has to exist first. Only then he can make the purchase and become a customer.

So the process would be like this. A company wants to create some new customers. So it first uses some CRM tools to identify new people it thinks can be targeted. It uses some CRM modules like marketing, telesales, telemarketing etc… to target the customer and finally convinces the customer to make the purchase. So, this person has entered the oracle database. Remember he has not bought anything yet. He is only a party for now. How does he buy now? CRM does not have any modules to place or process orders and payments. The party has to place an order in the ERP module Order management. Once he places an order, he becomes a customer too. So he is now both a party and customer. I hope this helps in understanding why some companies need CRM and ERP, and why Oracle bought siebel CRM. Oracle can target companies which deal with a lot of customers in its business like retailers (Walmart, Amazon, Target) and can sell them both CRM and ERP packages as part of a wholesome solution. since ERP and CRM are sold together, they need to communicate effectively and easily with each other and hence one single data model for customers called the “Party model”.

If you understood the above concept, you can easily answer the below questions.

1.When we create New Customer in ERP, why a PARTY will be created automatically?
A: Can a person make a purchase without existing? He has to exist first to make a purchase. He has to become a party first before becoming a customer. Once you place order in OM, the person is created as a party and customer as well. The party information can be used by CRM tools to target the person for future purchases.

2. Can I create a Customer without Party?
A: Can a person make a purchase without existing?

3.Can I create a Party without Customer?
A: Can a person exist independently without making a purchase? He can. So a party can exist without making a purchase. Imagine you went to a store, checked some stuff and did not buy anything. You might be asked to fill some information like your name, your address, what you liked,what you didnt like and things like that. So this information has to be stored somewhere. Here you will be entered in the company’s system as a party, but not a customer. they will then start sending you emails or offers trying to make you buy something using their CRM tools. once you buy something, you become a customer. Until you buy, you are only a party.

Differentiates a Party and Customer

Hello friends, in AR (Account receivables ) or TCA ( Trading community architecture ) , we usually comes across two common terms, party and customer. though both link each other still there are always confusion, here i trying to sort out the difference, hope this will be helpful

Points differentiates a Party and Customer which is as follows


a) Prospective Customer and more relevant for CRM Purposes
b) No Business Transactions involved (Sales Order, Sales Invoice, Debit Memo, Credit Memo, Receipt etc.,)
c) A Party does not have account but have Sites
d) A Party can exist without Customer Record
e) A Party Record will not have record in following tables



a) A Customer which is used both in CRM as well as in OM,Financials or any other module.
Example (A Sales Order in OM or Invoice in Receivables cannot be created without creating a Customer record for the Party).
b) A Business Transaction like a Sales Order, Invoice,Debit Memo,Credit Memo,Receipt can be created.
c) A Customer will have account and as well as Sites.
d) A Party record is must to create a Customer Record linked through party_id.
e) A Customer Record will have records in following tables


with reference to party_id column.

Run the Party and Customer Diagnostic Report to know more about the table information.

Important Note:

For Example Party ‘A’ has ‘B’ and ‘C’ two Customer accounts and party ‘X’ has ‘Y’ and ‘Z’ two customer accounts. If you want to merge Customer Accounts ‘B’ and ‘C’ with ‘Y’ and ‘Z’, then first we need to perform Party merge and then perform the customer merge. It operates on the simple logic, First Parent records need to be merged before merging the child records


Shivmohan Purohit

Oracle Receivables – FAQ , Interview Questions ( Functional & Technical)


Oracle Receivables – FAQ , Interview Questions ( Functional & Technical) 

Hello Friends, As part of putting Oracle Application Interview Questions for various modules, here i am putting Receivables , most of them are quite functional and link with Oracle Receivables features, still it is good to learn and know for a technical developer to get overall understanding. do share your feedback n thoughts. 

What is MRC and what is its use?
The Multi Reporting Currency Feature allows you to report and maintain records at the transaction level in more than one functional currency. You can do by defining one or more set of books in addition to primary set of books.



Accointing for invoice in advance
a) Receivable A/c …………………Dr.
To Unearned revenue a/c

(when we raise the invoice with invoicing rule as advance)

b) Unearned Revenue A/c ………….. Dr.
To Revenue A/c
(when we receive the payment, the number of journal entry (b) is depend upon the accounting rules which can be fixed or variable)

Accounting for invoice in arrear

a) Unbilled receivable a/c ………………..Dr.

To Revenue a/c

(when we receive the payment of unbilled invoice, the number of journal entry (a) is depend upon the accounting rules which can be fixed or variable))

b) Receivable a/c …………………….Dr.
To Unbilled receivable a/c
(when we raise the invoice, with invoicing rule arrear)


What is the use of Transaction Flexfield in Autoinvoice ?
Transaction Flexfield actually identifies the the uniqueness among the Multiple lines of a single Invoice


What are value sets?
Value sets are the defined as list of possible values for a specific purpose. These are assigned to flexfields. These are the only possible values to be choosen from. This eliminates the data entry errors.
Value set is a set of possible values.

There are 8 value set types:




4. None


6.Translatable Dependent

7.Translatable Independent

8. Special

Describe the main tables involved in AR, and what is the data stored in them?
RA_BATCHES_ALL — Information about Transaction BATCHES RA_CUSTOMER_TRX_ALL — Header information about Transaction
RA_CUSTOMER_TRX_LINES_ALL — Lines information about Transaction

RA_CUST_TRX_LINE_GL_DIST_ALL – Distribution information about Transaction

RA_CUST_TRX_LINE_SALESREPS_ALL — Sales representative of Transaction Information

AR_PAYMENT_SCHDULES_ALL – Information about Payment Schedules


RA_INTERFACE_ERRORS – Errors in AutoInvoice Interface Data

RA_INTERFACE_LINES_ALL – Use this table to enter Header and Lines information in AutoInvoice Interface program

RA_INTERFACE_DISTRIBUTIONS_ALL – Distribution Table in AutoInvoice Interface program

RA_INTERFACE_SALESCREDITS_ALL – Sales Credits information in AutoInvoice Interface



What do you mean by HZ_ in customer tables?
HZ stands for Human Zone(HZ_). Anytihing which is related to the human like Customer profiles, their accounts, locations, relationships are stored in these tables only. From release 11i TCA came into picture in Accounts Recievable module, where oracle has grouped all the customer information at one place. Most important tables in TCA are-







HZ_CONTACT_POINTS. few to name.

What is the difference between _all, _tl, _vl, _v tables in Oracle Apps ? Also name various other table suffix.
_ALL : Table holds all the information about different operating units. Multi-Org environment. You can also set the client_info to specific operating unit to see the data specific to that operating unit only.
_TL are tables corresponding to another table with the same name minus the _TL. These tables provide multiple language support. For each item in the table without _TL there can be many rows in the _TL table, but all with different values in the LANGUAGE column.

_B these are the BASE tables. They are very important and the data is stored in the table with all validations. It is supposed that these table will always contain the perfect format data. If anything happens to the BASE table data, then it is a data corruption issue.

_F these are date tracked tables, which occur in HR and Payroll. For these there are two date columns EFFECTIVE_START_DATE and EFFECTIVE_END_DATE which together with the PK identifies a row uniquely. The date intervals cannot overlap. Many think they are Secured data. Guess someone from Oracle confirms.

_V tables are the views created on base tables _VL are views for multi language tables which combines the row of the base table with the corresponding row of the _TL table where the LANGUAGE = USERENV(’LANG’).

_S are sequences, used for finding new values for the primary key of a table.

_A are Audit Shadow Tables

_AVN and _ACN are Audit Shadow Views (when data was changed, and with what values)

How many Flex fields are there in AR and what are they?

Required Key Flex fields:
1. Territory Flex field
2. Sales Tax Location flex field

Optional Key Flex fields:

1. Transaction flex field (requied only if Auto Invoicing is enabled)

2. System Items Flex field (If Inventory or OM is installed this should be defined there. other wise, it should be set up in AR).




Batch sources control the standard transaction type assigned to a transaction and determine whether Receivables automatically numbers your transactions and transaction batches. You can define two types of transaction batch sources-Manual and Imported


What is the importance of Batch Source set up in AR ?



Happy Go Daddy Customer!




Explain Accounting for invoice in Advance and Arrears.



How is the balance of an invoice derived ?