I suggest you add at leaset two more tables. Add a line item table for listing each item purchased on a given invoice. You can link this table to you invoice table by an order or invoice number. The line items records can be displayed/edited/created/deleted in a portal placed on a layout based on your invoice layout. Fields in a typical line item table would include at least: Item Id, qty purchased, unit price, Cost (Unit price * Qty)
In your case, I'd add one more field, Room. This field will allow you to create a report based on your line items table that will allow you to pull up all line items for a given invoice and sort them by room to get the report you've described.
The other table that I recommend is some kind of price list or catalog table. This table lists the items and their unit prices. When you create a new invoice, each time you add a line item record, the unit price would be copied (looked up) from the price list table. (This method allows you to change prices in the price list table without the change affecting the prices shown on existing invoices.)