- WhenVoid: timestamp for when this line was voided. If NULL, the line is active; otherwise, it should be ignored for most purposes (it may be displayed with a strikeout or other indication that it is inactive, but should not be included at all on customer-side output).
- 2010-01-29 Adapted from MS Access version
- 2010-02-10 "Date" is a keyword, which messes things up, so changing "Date" field to LineDate
- 2010-02-11 Rate field can now be NULL -- some invoice lines are just flat amounts
- 2010-07-14 Decided Notes field was necessary here so I can make notes if there are differences between the invoice and the original session record
- 2011-12-01 Added WhenVoid field
<mysql>DROP TABLE IF EXISTS `invc_line`; CREATE TABLE `invc_line` (
`ID` INT(4) NOT NULL AUTO_INCREMENT, `ID_Invc` INT(4) NOT NULL COMMENT "Invoice to which this line belongs", `Seq` INT(4) NOT NULL COMMENT "order in which this line was presented/added", `LineDate` DATETIME NOT NULL COMMENT "date which applies to this line", `WhenVoid` DATETIME DEFAULT NULL COMMENT "timestamp for when this line was voided", `What` TEXT NOT NULL COMMENT "what was done (may be text from several sessions combined)", `Qty` FLOAT DEFAULT NULL COMMENT "(optional) quantity of billable units", `Unit` VARCHAR(31) DEFAULT NULL COMMENT "(optional) description of unit -- typically 'hours'", `Rate` DECIMAL(9,2) DEFAULT NULL COMMENT "$ per unit", `CostLine` DECIMAL(9,2) NOT NULL COMMENT "$ for this line", `CostBal` DECIMAL(9,2) NOT NULL COMMENT "$ total after this line is added", `Notes` VARCHAR(255) DEFAULT NULL COMMENT "human-entered notes", PRIMARY KEY(`ID`)