WorkFerret/tables/invc line: Difference between revisions
< WorkFerret | tables
Jump to navigation
Jump to search
(+Notes field) |
(WhenVoid; minor doc tidying) |
||
Line 1: | Line 1: | ||
==About== | ==About== | ||
* '''Fields''': | |||
** '''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). | |||
* '''History''': | * '''History''': | ||
** '''2010-01-29''' Adapted from MS Access version | ** '''2010-01-29''' Adapted from MS Access version | ||
** '''2010-02-10''' "Date" is a keyword, which messes things up, so changing "Date" field to | ** '''2010-02-10''' "Date" is a keyword, which messes things up, so changing "Date" field to '''LineDate''' | ||
** '''2010-02-11''' | ** '''2010-02-11''' '''Rate''' field can now be NULL -- some invoice lines are just flat amounts | ||
** '''2010-07-14''' Decided | ** '''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 | |||
==SQL== | ==SQL== | ||
<mysql>DROP TABLE IF EXISTS `invc_line`; | <mysql>DROP TABLE IF EXISTS `invc_line`; | ||
Line 12: | Line 15: | ||
`Seq` INT(4) NOT NULL COMMENT "order in which this line was presented/added", | `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", | `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)", | `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", | `Qty` FLOAT DEFAULT NULL COMMENT "(optional) quantity of billable units", |
Revision as of 16:02, 1 December 2011
About
- Fields:
- 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).
- History:
- 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
SQL
<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`)
) ENGINE=MyISAM;</mysql>