The underlying transaction in Odoo that records revenues or expenses in an Analytic Account is called an Analytic Entry.
Characteristics of Analytic Entries:
Revenue is positive
Expenses are negative
Do not post to the General Ledger
Posted to a single Analytic Account
Can be tagged with one or many Analytic Tags
Can be optionally associated with a Financial Account, Journal Entry, Partner or Product.
Form View of an NEW Analytic Entry:

How are Analytic Entries created ?
Via:
Invoices:
On each Invoice line you can enter one Analytic Account and one or more Analytic Tags. When the Invoice is validated, the expense (Vendor Bill) or revenue (Customer Invoice) is posted to the Analytic Account and tagged according to the Analytic Tags on each line.
Employee Expenses:
On any Expense you can enter one Analytic Account. When the Journal Entries are posted for the Expense, the amount is also posted to the Analytic Account.
Timesheets:
Quantity of hours multiplied by the Employee's timesheet cost are posted to the linked Analytic Account as Employees enter hours.
You don't need either a Purchase Order or a Sales Order - you can use just Vendor Bills and Customer Invoices.
Having Purchase Orders and/or Sales can be helpful though, because you can set the Analytic Information on them so that when the Invoice is generated, this Analytic Information is carried over for you.
The Enterprise Edition allows you to filter Financial Reports by any combination of Analytic Account and Analytic Tag:

More information at https://www.odoo.com/documentation/user/10.0/accounting/others/analytic/usage.html
Martin - thanks for your response.
unfortunately I am using analytic accounts and analytic tags in order to report at the channel and account level.
for example my business is segmented by 7 sales channels therefore I have setup analytic accounts for legacy programs, inside sales, business development amongst others. in programs and business development I have a need to generate a pnl by program therefore we are using analytic tags for this. I can then use the canned pnl report and select analytic account for legacy programs (which will present the pnl for that channel in its entirety) and them if I choose to select one of the named programs example being Emory I can further drill down to this level.
my immediate concern here is that we have shipping and fulfillment costs that need to be coded at the so or po level but we will not have a po for these expenses as we ship on our account and the pos are going to our vendors for the product. I am starting to think that we may need a po for the shipping in order to be able to "code" the expense to the so/popular.
my dev team is also working on a data dump from odoo so if the profitability reporting at the job level isn't available let then we can build something offline. but it is important that we can at least book the expenses to the appropriate job.
is it possible to code expenses to the so? or are we going to need a position?
thanks