Well surely you are creating the line item and adding it to the invoice when you click new line and it is auto-binding. Then it looks like you are creating new line items again when you save your invoice? I would say that you always add the line items to an invoice on creation, that invoice is usually just an estimate until it is issued.
I’m not understanding how to have the Line Item stay constant (Product/Description), and offer a default value, but allow the Price and Quantity to remain variable.
OK, I see what you mean. I would suggest that you have n Item (product/service) table also. That way you can set default unit costs for product/service, and default unit types.
Then when you come to create a line item, you are adding a Item (product/Service) to that line item, it copies the default price in to the line item price, or you can over ride/discount it etc.
It will work well, open up other options as your app grows and fix the issues you are experiencing.
To clarify, are you recommending having three data types?
Invoice
Invoice Line Item Defaults
Invoice Line Item Data
I’m not sure how to work around the concern being: selecting a default Product/Service and Price, and having it copied without those results showing up in my list.
so you have your 3 items,
Snow shoveling - 100
Snow plowing - 200
snow blowing - 300
when you create a new line item, you choose an item, and that data is copied from your item to your line item, good to store the item also.
You could do it like @nfisher - or an alternate way which I have implemented is a yes/no field called ‘default line item’ on my line items datatype.
In user settings I have enabled them to be able to create a default line item - then they appear in a dropdown when they create an invoice and they can pick which default. This creates a new line item (non default) which then is autobound and user can edit description and amount if they choose, or use the default values.