QB is not a general ledger program. Journal entries should be the exception when using QB, they often do not work as you think they should, and when you use inventory type items they never work for inventory. It is much better to use the forms on the home page the way QB is designed to be used. Journal entries also bypass accrual/cash reporting, and will not show on many reports.
create the invoice, that sets the receivable
revenue recognition depends on your tax reporting basis
cash based business revenue is recognized as income when received
accrual based business revenue is recognized as income when the invoice is saved
that is standard account procedure