* Myyntireskontran "avoimet laskut"-kirje

* Uusi saldovahvistus:
 * Ohjelmalla pystyy selaamaan ytunnuksen, tai asiakasnumeron perusteella tietyn päivän avoimia laskuja.
 * Avoimet laskut esitetään riveinä per ytunnus. Laskuista pystyy tulostamaan avoimet laskut-pdf:n tai tarkastelemaan pdf:ää ruudulla.
 * Ohjelmalla pystyy hakemaan saldovahvistuksia monta kertaa. Ohjelma muistaa valitut rivit, jolloin kaikille valituille voi lähettää saldovahvistuksen yhdellä kerralla.
 * Saldovahvistuksen pdf:llä näytettäviä viestejä voi luoda yhtiön avainsanoihin (Muut avainsanat). Selite on viestin selite ja selitetark on itse viesti, joka näytetään saldovahvistuksella.

* Lähetetyt saldovahvistukset:
 * Ohjelmasta näkyy lähetetyt saldovahvistukset. Lähetettyjä saldovahvistuksia voi hakea asiakkaan ytunnuksella, asiakasnumerolla tai nimellä. Ohjelmasta voi myös hakea tietyn päivävälin lähetettyjä saldovahvistuksia.
 * Asiakkaalle lähetettyjä saldovahvistus-pdf:iä voi selata tai tulostaa ohjelmasta. Saldovahvistuksen voi lähettää myös uudestaa.

```sql
ALTER TABLE asiakas ADD COLUMN talhal_email VARCHAR(255) NOT NULL DEFAULT '' AFTER lasku_email;

CREATE TABLE saldovahvistukset (
tunnus INT(11) NOT NULL AUTO_INCREMENT,
lahetys_pvm DATE DEFAULT NULL,
saldovahvistus_viesti VARCHAR(150) NOT NULL DEFAULT '',
avoin_saldo_pvm DATE DEFAULT NULL,
ryhmittely_tyyppi VARCHAR(100) DEFAULT '',
yhtio VARCHAR(5) NOT NULL DEFAULT '',
PRIMARY KEY (tunnus)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE saldovahvistusrivit (
tunnus INT(11) NOT NULL AUTO_INCREMENT,
saldovahvistus_tunnus INT(11) NOT NULL DEFAULT 0,
tyyppi CHAR(1) NOT NULL DEFAULT '',
lasku_tunnus INT(11) NOT NULL DEFAULT 0,
laskunro INT(11) NOT NULL DEFAULT 0,
tapahtuma_pvm DATE DEFAULT NULL,
era_pvm DATE DEFAULT NULL,
summa DECIMAL(12,2) NOT NULL DEFAULT '0.00',
yhtio VARCHAR(5) NOT NULL DEFAULT '',
PRIMARY KEY (tunnus)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;