TODO bis Mitte Mai
Verteilerschlüsselform
Abrechnung erstellen
Verknüpfung invoice -> Nk Verteilung
RaumImport
Möglichkeit TP und Tenancy json Attribute zu verwalten
Nachprüfung
*Mietvertrag
*TP erstellen
*bisherige Tabellen
Evaluieren / untersuchen
Forms:
Hilfe/ Hinweise zu einzelnen Feldern
Placeholder
Inlinebearbeitung von "komplexeren Typen"
Fieldsets in Forms?
conditional rendering
Allgemein:
Menüführung
Darstellung Detailseiten
"Neuladen" einer Seite nach erneutem Klick auf Menüsymbol
Handling von 500er JSON´s vom Service im Frontend
DB Vorbereitungen für neuen Serv / DB
Bankdaten Gesellschaften:
SMP Invest AG: UST-ID: CHE-101.293.466 MWST
*Kontoinhaber: SMP Invest AG, 9548 Matzingen
*IBAN: CH42 0483 5008 2175 5100 0 (Credit Suisse, Baden)
*BIC: CRESCHZZ80A
*Hepa Immobilien AG: UST-ID: CHE-102.749.492 MWST
*Kontoinhaber: Hepa Immobilien AG, 9548 Matzingen
*IBAN: CH95 0483 5187 6383 6100 0 (Credit Suisse AG, Zürich)
*BIC: CRESCHZZ80A
-- Port
-- 3000 = smp Mandant 1
-- 3001 = hepa Mandant 2
-- Add tp_history
*insert into tp_history (tp_id, start_date, json_nk_stationary, created, created_from)
*Select tp_id, start_date, json_nk_stationary, '2019-08-26',1
*from tp
*where tp_id in (select room from tp_tree_view)
*
*
-- Nebenkostenattribute
INSERT INTO nk_attribute (nk_attribute_name, no_value_valid, nk_attribute_description, tenancy_nk_related, tp_nk_related, default_value)
VALUES ('Personenanzahl', true,'Personenanzahl im Mietverhältnis', true, false,1), ('qm',false,'Wohnfläche in Quadratmeter',false,true,0);
-- DividerKeys
-- Mit NkAAtributes von Queryy davor: Ansonsten ersetze related_colum_id
INSERT INTO divider_key (divider_key_name, divider_key_description, tenancy_nk_related, tp_nk_related, divider_type, use_heattable,related_column_id )
VALUES
('Wohnfläche', '',false, true,'Count', false, 2),
('Personenanzahl', '',true,false, 'Count',false,1),
('Relativ','', true,false, 'Relative',false,null),
('Absolut', '', true,false,'Absolute',false,null),
('GradWertTabelle QM', 'Quadratmeter und Gradwerttabelle werden zur Berechnung verwendet',true,false,'Count',true,2);
*
-- nkCategory/Groups
*Insert into nk_category_group (nk_category_group_name)
*values
*('Heizung'),
*('Strom'),
*('Wasser'),
*('Energie'),
*('Hausmeister'),
*('Fahrstühle'),
*('Rolltreppe'),
*('Fernsehen'),
*('Müllabfuhr'),
*('Reinigung'),
*('Versicherung'),
*('Revisionen'),
*('Tiefgarage'),
*('Individuell');
*
*-- INSERT INTO nk_category (nk_category_name, nk_category_group_id)
*values
*('Allgemein',1),
*('Allgemein',2),
*('Allgemein',3),
*('Allgemein',4),
*('Allgemein',5),
*('Allgemein',6),
*('Allgemein',7),
*('Allgemein',8),
*('Allgemein',9),
*('Allgemein',10),
*('Allgemein',11),
*('Allgemein',12),
*('Allgemein',13),
*('Allgemein',14);
*
*
--filelog_type
*insert into filelog_type (filelog_type_name,constants_value, basic_file_type)
*values
* ('handover_before', 'HANDOVERBEFORE', 'TENANCY'),
*('handover_after','HANDOVERAFTER','TENANCY'),
*('copy','COPY','TENANCY'),
*('nk_bill','NKBILL','BILL'),
*('invoice_document','INVOICEDOCUMENT','INVOICE')
*
*-- invoiceTypes
*insert into invoice_type (invoice_type_name)
*VALUES ('Nebenkosten'), ('Sonstige'), ('Mietrechnung'), ('Wartungsrechnung')
*
*-- claims
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (1, 'NK', 'Nebenkosten');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (2, 'NK_GROUP', 'Nebenkosten Gruppen');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (3, 'NK_INDIVIDUELL', 'Nebenkosten individuell');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (5, 'TENANCY', 'Mietverträge');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (6, 'TENANT', 'Mieter');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (7, 'DOCUMENTS', 'Dokumente');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (8, 'INVOICE', 'Rechnungen');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (10, 'TP', 'Technical Places');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (11, 'EQUIPMENT', 'Equipment');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (12, 'DRAWING', 'Zeichenoberfläche');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (14, 'USER', 'User anlegen');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (15, 'ROLES', 'Rollen verändern');
*INSERT INTO public.claim (claim_id, claim_name, claim_description) VALUES (16, 'NK_BILL', 'Nebenkostenabrechnungen');
*
*-- roles
*INSERT INTO public.role (role_id, role_description, role_name) VALUES (1, 'Alles', 'Admin');
*INSERT INTO public.role (role_id, role_description, role_name) VALUES (6, '', 'Verwalter');
*INSERT INTO public.role (role_id, role_description, role_name) VALUES (7, '', 'Mieter');
*INSERT INTO public.role (role_id, role_description, role_name) VALUES (2, NULL, 'Eingeschränkt');
*
*-- role_claims
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 1, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 2, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 3, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 5, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 6, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 7, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 8, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 10, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 11, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 12, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 14, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 15, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (1, 16, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (2, 2, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (2, 5, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (2, 6, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (2, 10, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 1, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 2, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 3, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 5, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 6, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 7, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (6, 8, true);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (7, 1, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (7, 5, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (7, 7, false);
*INSERT INTO public.role_claims (role_id, claim_id, write) VALUES (7, 8, false);
*
*-- tenancyTypes
*INSERT INTO public.tenancy_type (tenancy_type_id, tenancy_type_name, tenancy_type_description) VALUES (1, 'Gewerbe', NULL);
*INSERT INTO public.tenancy_type (tenancy_type_id, tenancy_type_name, tenancy_type_description) VALUES (2, 'Wohnung', NULL);
*INSERT INTO public.tenancy_type (tenancy_type_id, tenancy_type_name, tenancy_type_description) VALUES (3, 'Parkplatz', NULL);
*
*
*
*Query für roomstate fix:
*
*update room set room_status_id = 1 where tp_id in (
*select tp_id
*from tenancy_tp
*left join room using (tp_id)
*where landlord_id is null and end_date is null and room_status_id != 1
*)
*
*
*Querys für Tenancy-Fix:
*
*-- Anzeige der fehlerhaften Tenancys
*SELECT * FROM (SELECT count(DISTINCT (start_date)), tenancy_id FROM tenancy_tp
*WHERE end_date IS NULL
*GROUP BY tenancy_id
*) AS test
*WHERE count > 1;
*
*-- Fixen des fehlerhaften Tenancys - ID händisch eintragen
*WITH rows AS (
*UPDATE tenancy_tp
*SET end_date = (
*SELECT DISTINCT start_date FROM tenancy_tp
*WHERE tenancy_id = ?
*ORDER BY start_date DESC
*LIMIOT 1
*) WHERE tenancy_id = ?
*AND start_date = (SELECT DISTINCT start_date FROM tenancy_tp
*WHERE tenancy_id = ?
*ORDER BY start_date ASC
*LIMIT 1)
*RETURNING tenancy_id, tp_id, landlord_id, end_date AS start_date, json_nk_tenancy_attribute)
*INSERT INTO tenancy_tp (tenancy_id, tp_id, landlord_id, start_date, json_nk_tenancy_attribute)
*SELECT * FROM rows
*
*
*-- Query Setze Tp_number für EInstellplätze in Thun
*update tp set tp_number = substring(reference, 5, 2)
*where tp_type = 2
*and tp_id in
*(
*select room
*from tp_tree_view
*where location = 194
*)
*update tp set tp_description = tp_description::varchar || ' '::varchar || tp_number::varchar
*--select * from tp
*where tp_type = 2
*and tp_id in
*(
*select room
*from tp_tree_view
*where location = 194
*)
*update tp set tp_name = tp_name::varchar || ' '::varchar || tp_number::varchar
*--select * from tp
*where tp_type = 2
*and tp_id in
*(
*select room
*from tp_tree_view
*where location = 194
*)
*
*
*
Evaluierung DMS:
Welches DMS ->Nuxeo oder Alfresco, Wie ist dort die Lizenz (benötigt wird mindestens eine liberale Lizenz wie LGPL)
Nuxeo -> Apache Lizenz (APL), jars haben teilweise abweichende Lizenz, aber unkritisch
Alfresco "Community" -> LGPL
Welche Features und welcher Integrationsgrad wird benötigt?
Datenschutz-Implikationen ...
Aktueller Stand der Planung:
Protokoll und Phasenplan erstellt, wird Herrn Rischmann zugesendet, warten auf Einschätzung von seiner Seite,
dann Aufwandschätzung, zeitlich sowie den Gesamtaufwand in Manntagen / Mannmonaten
Kontingent / Zeitplanung VP
Grundmodul 600h 75d
Nebenkosten 320h 40d
Rechnungen/Verträge 160h 20d
https://www.fairwalter.ch/
Zugangsdaten: pwm fairwalter
SELECT * FROM
(SELECT DISTINCT ON (tenancy_id) tenancy.*, tenancy_tp.start_date as tt_start_date, tenancy_tp.end_date as tt_end_date, tenancy_tp.tp_id, tenancy_type.*, tt.tenant_id FROM tenancy
LEFT JOIN tenancy_tenant as tt using (tenancy_id)
LEFT JOIN tenancy_tp using (tenancy_id)
JOIN tenancy_type using (tenancy_type_id)
WHERE tenancy_id in (SELECT tenancy_id FROM tenancy_tp WHERE tp_id in (112,113,111,114,117,119,118,120,121,122,123,124,125,126,115,116)) )
as sub
ORDER BY balance
LIMIT 20
SELECT * FROM
(SELECT DISTINCT ON (tenancy_id) tenancy.*, tenancy_tp.start_date as tt_start_date, tenancy_tp.end_date as tt_end_date, tenancy_tp.tp_id, tenancy_type.*, tt.tenant_id FROM tenancy
LEFT JOIN tenancy_tenant as tt using (tenancy_id)
LEFT JOIN tenancy_tp using (tenancy_id)
JOIN tenancy_type using (tenancy_type_id)
WHERE tenancy_id in (SELECT tenancy_id FROM tenancy_tp WHERE tp_id in (112,113,111,114,117,119,118,120,121,122,123,124,125,126,115,116))
AND tenancy.end_date < 1549020900597 ) as sub
ORDER BY balance
LIMIT 20
UPDATE room
SET room_status_id = 5
WHERE tp_id in (SELECT tp_id FROM tenancy_tp WHERE start_date < (SELECT EXTRACT(milliseconds from CURRENT_TIMESTAMP)) AND landlord_id IS NOT NULL)
UPDATE room
SET room_status_id = 1
WHERE tp_id in (SELECT tp_id FROM tenancy_tp WHERE (end_date IS NULL OR end_date > ((SELECT EXTRACT (milliseconds from CURRENT_TIMESTAMP)) + 86400000)) AND landlord_id IS NULL)
BACKUP
CREATE TABLE public.tp_history
(
base_tp integer NOT NULL,
history_tp integer NOT NULL,
start_date timestamp without time zone,
end_date timestamp without time zone,
CONSTRAINT tp_history_pkey PRIMARY KEY (base_tp, history_tp),
CONSTRAINT tp_history_base_tp_fkey FOREIGN KEY (base_tp)
REFERENCES public.tp (tp_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT tp_history_history_tp_fkey FOREIGN KEY (history_tp)
REFERENCES public.tp (tp_id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Grober Plan
Paradigmen:
*Eine Rechnung gehört maximal zu einer Gruppe
*TP ohne Mieter gehören dem Eigentümer (TP-Mieteintrag)
*Abrechnungen werden über Mietverhältnisse erstellt (Startpunkt)
*Änderungen an Tp,Mietverhältnissen oder NK Gruppen werden zur Historisierung dupliziert und mit einer ParentId versehen
*Alle Objekte welche Nebenkosten aufnehmen können sind TP, dies umfasst auch gesamte Objekte, Stockwerke
*Anteilige Berechnung tageweise
*Änderungen, die eine TP-Historyanpassung erfordern:
*TP:
*FIELDS:
*qm, owner, json_nk_stationary
*Aktionen:
*EDIT, DELETE
*Mietvertrag:
*FIELDS:
*Aktionen:
*
*
Vorbereitungen für neuen Mandanten:
Landlord Nutzer anlegen
Tenancy mit Landlord anlegen
*
Frontend:
Anzeigen:
Zeichenoberfläche
* TP (Baum u.a.)
*Mietverträge (inklusive), Monatsabrechnungen
*NK Rechnungen (Verteilt, Noch zu verteilen, gebucht(in NK Abrechnung vorhanden))
*Fertige Abrechnungen
*NK Kosten Gruppen
*Individuelle Nebenkosten
*Allgemeine Rechnungen
*Dokumente ()
*Mieter
*Equipment
*Benutzer
*Nebenkosten Auflistung nach Mietverhältnissen
*Nebenkosten Auflistung nach Nk Gruppen
*Nebenkosten Auflistung nach Objekten
*Nebenkosten für Gesellschaft
*Mieteinnahmen (Ist-Plan, frei usw)
*Wartungspläne (u.a. Kalender)
*TP Auflistung nach Eigentümer / Mieter
*TP Auflistung nach NKGruppen
*TP Auflistung nach Rechnungen
*
*
*TOOLS :
*PDF to txt https://lightpdf.com/ocr
*
*DB QUERY START
*
pga: base_user -> main_user, base_user_role -> main_user_role
*
*-- 02.12.19
*insert into claim (claim_name, claim_description) values ('COUNTER', 'Zähler');
*create table equip (equipment_id int references equipment);
*
*-- 03.12.19
*alter table equipment add column responsible varchar;
*alter table equip add constraint equip_pkey primary key (equipment_id);
*create table filelog_equipment (
* filelog_id int references filelog,
* equipment_id int references equipment,
* primary key (filelog_id, equipment_id)
*);
*insert into filelog_type (filelog_type_name, constants_value, basic_file_type) values ('maintenance', 'MAINTENANCE', 'EQUIPMENT');
*
*-- 04.12.19
*alter table counter_history rename to counter_read;
*alter table counter_read rename column counter_history_id to counter_read_id;
*alter table counter_read add column count numeric;
*alter table counter_read rename column counter_id to equipment_id;
*
*-- 05.12.19
*alter table external_company rename column external_comapny_id to external_company_id;
*--06.12.19
*alter table invoice_document add column customer_number varchar;
*alter table invoice add percentage numeric;
*
*--09.12.19
*update tp set json_additional_informations = '[{ "date": 1566311803,"value" :""}]' where json_additional_informations is null;
*
*--10.12.19
*alter table main_user add column iban varchar;
*alter table main_user add column bic varchar;
*alter table main_user add column bank_name varchar;
*create table short_term_tenancy (
* short_term_tenancy_id serial primary key,
* tenant_id int references tenant,
* street varchar,
* city varchar,
* zipcode varchar,
* pay_method varchar,
* start_date timestamp without time zone,
* end_date timestamp without time zone,
* rent numeric,
* vat numeric,
* additional_information varchar,
* landlord int references landlord,
* tenancy_number varchar
*);
*alter table filelog_tenancy add column short_term_tenancy_id int references short_term_tenancy;
*alter table filelog_tenancy drop constraint filelog_tenancy_pkey, add constraint filelog_tenancy_pkey primary key (filelog_id);
*alter table filelog_tenancy alter column tenancy_id drop not null;
*
*-- 11.12.19
*alter table short_term_tenancy add column created_on timestamp without time zone, add column created_by_id int references main_user;
*alter table short_term_tenancy add column tenancy_status varchar;
*update filelog_type set constants_value = 'TENANCY' where filelog_type_name = 'short_term_tenancy';
*insert into filelog_type (filelog_type_name, constants_value, basic_file_type) VALUES ('tenancy', 'TENANCY', 'TENANCY');
*insert into filelog_type (filelog_type_name, constants_value, basic_file_type) VALUES ('short_term_tenancy_copy', 'COPY', 'SHORTTERMTENANCY');
*alter table nk_tenancy add column vat numeric, add column taxes boolean;
*
*-- 12.12.19
*alter table counter_read add column responsible varchar, add column responsible_name varchar;
*INSERT INTO filelog_type (filelog_type_name, constants_value, basic_file_type) VALUES ('counter_read', 'COUNTERREAD', 'EQUIPMENT');
*INSERT INTO filelog_type (filelog_type_name, constants_value, basic_file_type) VALUES ('equipment', 'EQUIPMENT', 'EQUIPMENT');
*
*--13.12.
*alter table filelog_equipment add column equipment_maintenance_id int references equipment_maintenance,
*add column counter_read_id int references counter_read,
*drop constraint filelog_equipment_pkey,
*add constraint filelog_equipment_pkey primary key (filelog_id),
*alter column equipment_id drop not null;
*
*alter table filelog_nkbill add column val_net numeric;
*alter table filelog_nkbill add column val_brt numeric;
*alter table filelog_nkbill add column vat numeric;
*alter table filelog drop column tenancy_id;
*alter table filelog_nkbill add column active boolean;
*
*CREATE OR REPLACE VIEW public.nk_tenancy_view AS
* SELECT nk_tenancy.nk_id,
* nk.tp_id,
* nk_tenancy.start_date,
* nk_tenancy.end_date,
* nk_tenancy.value,
* nk_tenancy.tenancy_id,
* nk.start_date AS nkstart,
* nk.end_date AS nkend,
* nk.invoice_id,
* nk_tenancy.invoice_sum,
* nk.nk_share_count,
* nk.nk_total_shares_count,
* nk.nk_description,
* nk_category.nk_category_name,
* nk_category_group.nk_category_group_name,
* nk_tenancy.days,
* nk.booked,
* tp.tp_name,
* dk.divider_key_name,
* nk.consumption,
* nk.multiplicator,
* nk.unit,
* nk.org_nk_total_shares_count,
* nk.org_nk_share_count,
* nk_tenancy.heat_multi,
* nk_tenancy.taxes,
* nk_tenancy.vat
* FROM nk_tenancy
* LEFT JOIN nk USING (nk_id)
* LEFT JOIN nk_category USING (nk_category_id)
* LEFT JOIN nk_category_group USING (nk_category_group_id)
* LEFT JOIN tp USING (tp_id)
* LEFT JOIN divider_key dk ON nk.divider_key_id = dk.divider_key_id
* WHERE nk_tenancy.active = true AND nk.active = true
* ORDER BY nk.tp_id, nk_category.nk_category_group_id, nk.nk_category_id, nk_tenancy.start_date;
*
*--17.12.
*update tenancy
*set temporary_data = replace(temporary_data, '\"mail\"', '\"email\"');
*update tenancy_history
*set json_old = replace(json_old, '\"mail\"', '\"email\"'), json_new = replace(json_new, '\"mail\"', '\"email\"');
*update tenancy_history
*set json_old = replace(json_old, '"mail"', '"email"'), json_new = replace(json_new, '"mail"', '"email"');
*
*
*alter table invoice_document add column pre_taxes numeric;
*alter table invoice_document add column pre_tax_base varchar;
*alter table tenancy add column json_turnover varchar;
*
*
*--18.12.19
*alter table filelog_nkbill add column use_main_vat boolean, add column gross numeric, add column is_tax_tenancy boolean, add column payments numeric, add column payment_charge numeric, add column tax_sum varchar, add column net_sum varchar;
*alter table filelog_nkbill drop column val_net, drop column val_brt;
*
*--19.12.19
*insert into claim (claim_name, claim_description) values('DATABASE_IDS', 'IDs aus Datenbank sehen');
*
*--07.01.2020
*
*insert into claim (claim_name, claim_description) values ('DIVIDE', 'Rechnungen verteilen');
*
*create table tenancy_term (
* tenancy_term_id serial primary key,
* title varchar,
* text varchar,
* posi int,
* level int
*);
*create table tenancy_term_tree (
* tenancy_term_id int references tenancy_term,
* child_tenancy_term_id int references tenancy_term,
* primary key (tenancy_term_id, child_tenancy_term_id)
*);
*CREATE OR REPLACE VIEW tenancy_term_tree_view AS
* SELECT f.tenancy_term_id AS first,
* s.child_tenancy_term_id AS second,
* t.child_tenancy_term_id AS third
* FROM tenancy_term f
* LEFT JOIN tenancy_term_tree s USING (tenancy_term_id)
* LEFT JOIN tenancy_term_tree t ON s.child_tenancy_term_id = t.tenancy_term_id
* WHERE f.tenancy_term_id = 1;
*create table tenancy_term_sample (
* tenancy_term_sample_id serial primary key,
* name varchar,
* def boolean default false,
* tenancy_type_id int references tenancy_type,
* def_location int references location
*);
*create table tenancy_term_sample_tenancy_term (
* tenancy_term_sample_id int references tenancy_term_sample,
* tenancy_term_id int references tenancy_term,
* primary key (tenancy_term_sample_id, tenancy_term_id)
*);
*create table nk_sample (
* nk_sample_id serial primary key,
* nk_sample_name varchar,
* def boolean default false,
* tenancy_type_id int references tenancy_type,
* def_location int references location
*);
*create table nk_sample_nk_category (
* nk_sample_id int references nk_sample,
* nk_category_id int references nk_category,
* primary key (nk_sample_id, nk_category_id)
*);
*
*-- 08.01.20
*
*alter table nk add column invoice_document_id int;
CREATE OR REPLACE VIEW public.nk_tenancy_view AS
SELECT nk_tenancy.nk_id,
nk.tp_id,
nk_tenancy.start_date,
nk_tenancy.end_date,
nk_tenancy.value,
nk_tenancy.tenancy_id,
nk.start_date AS nkstart,
nk.end_date AS nkend,
nk.invoice_id,
nk_tenancy.invoice_sum,
nk.nk_share_count,
nk.nk_total_shares_count,
nk.nk_description,
nk_category.nk_category_name,
nk_category_group.nk_category_group_name,
nk_tenancy.days,
nk.booked,
tp.tp_name,
dk.divider_key_name,
nk.consumption,
nk.multiplicator,
nk.unit,
nk.org_nk_total_shares_count,
nk.org_nk_share_count,
nk_tenancy.heat_multi,
nk_tenancy.taxes,
nk_tenancy.vat,
nk.invoice_document_id
FROM nk_tenancy
LEFT JOIN nk USING (nk_id)
LEFT JOIN nk_category USING (nk_category_id)
LEFT JOIN nk_category_group USING (nk_category_group_id)
LEFT JOIN tp USING (tp_id)
LEFT JOIN divider_key dk ON nk.divider_key_id = dk.divider_key_id
WHERE nk_tenancy.active = true AND nk.active = true
ORDER BY nk.tp_id, nk_category.nk_category_group_id, nk.nk_category_id, nk_tenancy.start_date;
*alter table tenancy_term_sample_tenancy_term add column posi int, add column title varchar, add column text varchar;
create table tenancy_tenancy_term_sample (
tenancy_id int references tenancy,
tenancy_term_sample_id int references tenancy_term_sample,
primary key (tenancy_id, tenancy_term_sample_id)
);
-- 10.01.20
*alter table external_company
*add column iban character varying,
*add column bic character varying,
*add column bank_name character varying,
*add column email varchar,
*add column contact_email varchar;
*
*INSERT INTO claim (claim_name,claim_description) VALUES('EXTERNAL_COMPANY', 'Externe Firmen');
*alter table external_company rename column contact to contact_name;
*
*create table account_type
*(
*account_type_id serial primary key,
*account_type_description varchar,
*type char[1]
*);
*
*create table account (
*account_id serial primary key,
*account_number varchar,
*account_type int references account_type,
*account_name varchar
*);
*
*CREATE TABLE public.transaction_type
*(
* transaction_type_code character(1)[] primary key,
* description character varying
*);
*
*create Table journal(
*journal_id serial primary key,
*value numeric,
*reference varchar,
*invoice_document_id int references invoice_document
*);
*
*CREATE TABLE transfer
*(
* transfer_id serial primary key,
* valuta timestamp without time zone,
* customerref character varying,
* value numeric(14,6),
* usage character varying,
* isbooked boolean DEFAULT false,
* autobooked boolean DEFAULT false,
* checksum character(32),
* comment character varying,
* bdate timestamp without time zone,
* executionstamp timestamp without time zone,
* src_iban character varying,
* src_bic character varying,
* src_bank_name character varying,
* dest_iban character varying,
* dest_bic character varying,
* dest_bank_name character varying
*
*);
*
*create table transfer_journal
*(
*transfer_id int references transfer,
*journal_id int references journal,
*primary key (transfer_id,journal_id),
*value numeric
*--default_account int references account
*);
*
*--create table transfer_output
*--(
*--transfer_id int references transfer,
*--output_statement_id int references output_statement,
*--primary key (transfer_id,output_statement_id),
*--value numeric
*--);
*
*CREATE TABLE account_transaction
*(
* account_id integer NOT NULL,
* date_time timestamp without time zone NOT NULL,
* transaction_type_code character(1)[] references transaction_type,
* amount numeric,
* primary key (account_id, date_time),
* journal_id int references journal
* --output_statement_id int references output_statement,
* --input_statement_id int references output_statement,
*
*);
*
*alter table external_company add column debt_account int references account;
*alter table external_company add column cred_account int references account;
*alter table main_user add column debt_account int references account;
*alter table main_user add column cred_account int references account;
*
*drop table tenancy_term_sample_tenancy_term;
*create table tenancy_term_sample_tenancy_term_tree (
* tenancy_term_sample_tenancy_term_tree_id serial primary key,
* tenancy_term_sample_id int references tenancy_term_sample,
* tenancy_term_id int references tenancy_term,
* child_tenancy_term_id int references tenancy_term,
* posi int,
* title varchar,
* text varchar
*);
*
*
*-- 13.01.20
*
*alter table filelog add column description varchar;
*
*
*
*-- 15.01.20
*alter table invoice_document add column invoice_date timestamp without time zone;
*alter table invoice_document add column due_date timestamp without time zone;
*alter table invoice_document add column location_id int;
*alter table invoice_document add column already_transfered boolean;
*alter table invoice_document add column no_transfer boolean;
*
*alter table invoice_document add column income_invoice boolean default true;
*alter table invoice_document add column external_company_id int references external_company;
*alter table invoice_document add column nk_category_id int references nk_category;
*-- 16.01.20
*
*alter table nk_category add column location_id int references location;
*alter table nk_category add column nk_bill_name varchar;
*alter table nk_category add column account int references account;
*alter table invoice_document add column pre_tax_comment varchar;
*
*-- 17.01.20
*INSERT INTO filelog_type (filelog_type_name, constants_value, basic_file_type) VALUES ('tenant_signed_tenancy', 'TENANTSIGNED', 'TENANCY'), ('signed_tenancy', 'SIGNED', 'TENANCY');
*alter table account add column location_id int references location;
*alter table account add column debt boolean default false;
*alter table account add column cred boolean default false;
*-- 20.01.20
*
*create table furniture
*(
* furniture_id serial primary key,
* name varchar
*);
*
*create table tenancy_add_cost
*(
* tenancy_add_cost_id serial primary key,
* name varchar,
* val numeric
*);
*
*-- 21.01.
*alter table tenancy add column json_furniture varchar, add column json_add_cost varchar, add column additional_term varchar;
*create table nk_category_sample (
nk_category_sample_id serial primary key,
name varchar,
contract_name varchar,
nk_category_group_id int references nk_category_group
);
alter table nk_sample_nk_category rename to nk_sample_nk_category_sample;
alter table nk_sample_nk_category_sample rename nk_category_id to nk_category_sample_id;
alter table nk_sample_nk_category_sample
*drop constraint nk_sample_nk_category_nk_category_id_fkey,
*add constraint nk_sample_nk_category_nk_category_id_fkey foreign key (nk_category_sample_id)
*REFERENCES public.nk_category_sample (nk_category_sample_id) MATCH SIMPLE
*ON UPDATE NO ACTION ON DELETE NO ACTION;
*
*-- 22.01.
*alter table tenancy add column json_license_plate varchar;
*alter table tenancy add column nk_sample_id int references nk_sample;
*
*-- LIVE 24.01.
*
*--28.01.
*alter table tenancy_term add column location_id int references location;
*
*--30.01
*alter table mandator add column name varchar,
*add column street varchar,
*add column zipcode varchar,
*add column city varchar,
*add column ustid varchar,
*add column iban varchar,
*add column bic varchar,
*add column bank_name varchar;
*
*alter table mandator alter column mandator_id drop default;
*
*-- SMP ONLY
*insert into mandator (mandator_id,name,zipcode,city,street,ustid,iban,bic,bank_name)
*VAlUES (1, 'SMP Invest AG','9548','Matzingen','Lauchefeld 31','CHE-101.293.466','CH42 0483 5008 2175 5100 0','CRESCHZZ80A','Credit Suisse, Baden');
*-- SMP ONLY END
*
*-- HEPA ONLY END
*insert into mandator (mandator_id,name,zipcode,city,street,ustid,iban,bic,bank_name)
*VAlUES (2,'Hepa Immobilien AG','9548','Matzingen','Lauchefeld 31','CHE-102.749.492','CH95 0483 5187 6383 6100 0','CRESCHZZ80A','Credit Suisse AG, Zürich');
*-- HEPA ONLY END
*
*
*-- 31.01.20
*
*create table booking
*(
*booking_id serial primary key,
*transmitted boolean,
*booking_text varchar
*
*);
*
*create table booking_statement
*(
* booking_statement_id serial primary key,
* account_id int references account,
* account_dest int references account,
* value numeric,
* firstNote varchar,
* date timestamp without time zone,
* cost_center varchar,
* datev_export varchar,
* is_debit boolean,
* is_credit boolean
*);
*
*create table invoice_booking
*(
* invoice_document_id int references invoice_document,
* booking_id int,
* register_statement boolean,
* finish_statement boolean,
* correction_statement boolean,
*
* primary key (invoice_document_id,booking_id)
*);
*
*create table invoice_transfer
*(
*invoice_document_id int references invoice_document,
*booking_id int references booking,
*value numeric
*);
*
*alter table booking add column confirmed_by int references main_user;
*alter table booking add column submitted_by int references main_user;
*alter table booking add column confirmed_on timestamp without time zone;
*alter table booking add column submitted_on timestamp without time zone;
*alter table booking_statement add column booking_id int references booking;
*
*-- 03.02.20
*
*alter table mandator add column default_bank_account int references account;
*alter table invoice_document add column debitor_account int references account;
*
*-- 04.02.20
*
*create table location_config
*(
*location_id int references location primary key,
*default_rent_no_tax_account int references account,
*default_rent_tax_account int references account,
*default_nk_no_tax_account int references account,
*default_nk_tax_account int references account
*);
*
*alter table invoice_document add column tenancy_id int;
*alter table account_type drop column type;
*alter table account_type add column type varchar(1);
*
*alter table nk_sample add column text varchar;
*alter table nk_sample rename column def_location to location_id;
*
*alter table account add column vat numeric;
*
*create table tp_equipment (
*tp_id int references tp,
*equipment_id int references equipment,
*primary key (tp_id, equipment_id)
*);
*
*-- 05.02.20
*create table handover_category (
*handover_category_id serial primary key,
*handover_category_name varchar
*);
*create table handover_controlpoint (
*handover_controlpoint_id serial primary key,
*handover_controlpoint_name varchar,
*handover_category_id int references handover_category
*);
*
*insert into handover_category(handover_category_name)
*values ('Küche'), ('Korridor/Essdiele'), ('Bad/WC/Dusche'),('Sep. WC'), ('Zimmer 1'), ('Zimmer 2'), ('Zimmer 3'), ('Zimmer 4'),
*('Zimmer 5'), ('Balkon/Gartensitzplatz'), ('Keller/Abstellraum'), ('Gebrauchsanleitung'), ('Treppen');
*
*insert into handover_controlpoint(handover_controlpoint_name, handover_category_id)
*values('Boden', 1), ('Decke', 1), ('Wände', 1), ('Anstrich', 1), ('Plättli', 1), ('Beleuchtungskörper', 1), ('Schalter/Stecker', 1),
*('Fenster/Scheiben', 1), ('Roll-/Läden', 1), ('Gurten/Kurbel', 1), ('Schränke', 1), ('Batterie/Hahnen', 1), ('Chrohmstahl', 1),
*('Geschirrspühler', 1), ('Platten/Keramikkochfeld', 1), ('Backofen', 1), ('Dampfabzug/Filter', 1), ('Kühlschrank', 1), ('Türen', 1),
*('Kehrichteimer', 1),
*('Boden', 2), ('Decke', 2), ('Wände', 2), ('Anstrich', 2), ('Beleuchtungskörper', 2), ('Schalter/Stecker', 2), ('Fenster/Scheiben', 2),
*('Roll-/Läden', 2), ('Gurten/Kurbel', 2), ('Wandschränke', 2), ('Türen', 2), ('Garderobe/Hutablage', 2),
*('Boden', 3), ('Decke', 3), ('Wände', 3), ('Anstrich', 3), ('Plättli', 3) ,('Beleuchtungskörper', 3), ('Schalter/Stecker', 3),
*('Fenster/Scheiben', 3), ('Roll-/Läden', 3), ('Gurten/Kurbel', 3), ('Bade-/Duschwanne', 3), ('Brause/Duschenschlauch', 3),
*('Baterrie/Hahnen', 3), ('Klosett/Spühlkasten', 3), ('Waschbecken', 3), ('Seifenschale/Zahnglas', 3), ('Spiegel-/Schrank', 3),
*('Abluftgitter', 3), ('Türen', 3),
*('Boden', 4), ('Decken', 4), ('Wände', 4), ('Anstrich', 4), ('Plättli', 4), ('Beleuchtungskörper', 4), ('Schalter/Stecker', 4),
*('Batterie/Hahnen', 4), ('Klosett/Spühlkasten', 4), ('Waschbecken', 4), ('Seifenschale/Zahnglas', 4), ('Spiegel-/Schrank', 4),
*('Abluftgitter/Ventilator', 4), ('Türen', 4),
*('Boden', 5), ('Decke', 5), ('Wände', 5), ('Anstrich', 5), ('Schalter/Stecker', 5), ('Fenster/Scheiben', 5), ('Roll-/Läden', 5),
*('Gurten/Kurbel', 5), ('Türen', 5),
*('Boden', 6), ('Decke', 6), ('Wände', 6), ('Anstrich', 6), ('Schalter/Stecker', 6), ('Fenster/Scheiben', 6), ('Roll-/Läden', 6),
*('Gurten/Kurbel', 6), ('Türen', 6),
*('Boden', 7), ('Decke', 7), ('Wände', 7), ('Anstrich', 7), ('Schalter/Stecker', 7), ('Fenster/Scheiben', 7), ('Roll-/Läden', 7),
*('Gurten/Kurbel', 7), ('Türen', 7),
*('Boden', 8), ('Decke', 8), ('Wände', 8), ('Anstrich', 8), ('Schalter/Stecker', 8), ('Fenster/Scheiben', 8), ('Roll-/Läden', 8),
*('Gurten/Kurbel', 8), ('Türen', 8),
*('Boden', 9), ('Decke', 9), ('Wände', 9), ('Anstrich', 9), ('Schalter/Stecker', 9), ('Fenster/Scheiben', 9), ('Roll-/Läden', 9),
*('Gurten/Kurbel', 9), ('Türen', 9),
*('Boden', 10), ('Gurten/Kurbel', 10), ('Sonnstore', 10),
*('Fenster', 11), ('Hurde', 11),
*('Herd', 12), ('Kühlschrank', 12), ('Dampfabzug', 12),
*('Stufen', 13), ('Wände', 13);
*
*insert into handover_controlpoint(handover_controlpoint_name, handover_category_id)
*values ('Schlüssel', 1),('Schlüssel', 2),('Schlüssel', 3),('Schlüssel', 4),('Schlüssel', 5),('Schlüssel', 6),('Schlüssel', 7),('Schlüssel', 8),('Schlüssel', 9),('Schlüssel', 11);
*
*
*--10.02.20
*
*alter table booking add column invoice_document_id int references invoice_document;
*
*-- 11.02.20
*alter table tenancy_term add column parking boolean default false;
*
*alter table booking add column filelog_id int references filelog;
*
*-- 12.02.20
*alter table tenant add column tenant_number varchar;
*
*create table filelog_booking(
*filelog_booking_id serial primary key,
*filelog_id int references filelog,
*transmitted boolean DEFAULT false,
*booking_ids varchar,
*transmitted_by int references main_user,
*transmitted_on timestamp without time zone
*);
*
*alter table tenancy add column debitor_old varchar;
*update tenancy set debitor_old = debitor;
*update tenancy set debitor = null;
*
*alter table filelog_booking add column generated_by int references main_user;
*alter table filelog_booking add column generated_on timestamp without time zone;
*
*alter table booking rename column confirmed_by to transmitted_by;
*alter table booking rename column submitted_by to generated_by;
*alter table booking rename column confirmed_on to transmitted_on;
*alter table booking rename column submitted_on to generated_on;
*
*insert into claim (claim_name, claim_description) values ('BOOKING', 'Buchhaltung');
*
*alter table invoice_booking rename column register_statement to init_statement;
*
*alter table booking alter column transmitted set default false;
*update booking set transmitted = false;
*alter table invoice_booking add constraint invoice_booking_fkey FOREIGN KEY (booking_id) references booking (booking_id) match simple on update no action on delete no action;
*
*--13.02.20
*update tenancy set keys_moving_in = '{' || keys_moving_in || '}',
*keys_moving_out = '{' || keys_moving_out || '}';
*
*alter table handover_category add position int;
*
*alter table filelog add column generated_by int references main_user;
*alter table filelog rename column created to generated_on;
*
*alter table filelog_booking drop column generated_by;
*alter table filelog_booking drop column generated_on;
*
*-- 14.02.20
*alter table tenancy add column handover_before varchar;
*alter table tenancy add column handover_after varchar;
*
*-- 16.02.20
*alter table account add column transmitted boolean;
*alter table tenancy add column debitor_account_id int references account;
*INSERT INTO public.invoice_type(
* invoice_type_name)
* VALUES ('Kautionsrechnung');
*
*-- 17.02.20
*alter table location_config add column def_nk_target_date timestamp without time zone;
*alter table location_config add column def_email_sender varchar;
*alter table location_config add column def_sales_account int references account;
*
*alter table filelog_tenancy add column tp_id int references tp;
*alter table tp_type add column handover boolean default false;
*alter table tenancy add column moving_out timestamp without time zone;
*alter table tenancy add column deposit_values varchar;
*
*alter table invoice_document add column paid boolean;
*alter table invoice_document alter column paid SET DEFAULT false;
*
*-- 18.02.20
*alter table tenancy add column last_inv_generated timestamp without time zone;
*INSERT INTO invoice_type (invoice_type_name) VALUES('Nebenkosteneingang');
*
*INSERT INTO public.filelog_type(
* filelog_type_name,constants_value, basic_file_type)
* VALUES ('datevDebt', 'DEBITORCSV', 'BOOKING');
*
*alter table filelog_booking add column account_ids varchar;
*
*--update tenancy_history
*--set json_new = jsonb_set(jsonb_set(json_new::jsonb, '{keysMovingOut}', 'null'), '{keysMovingIn}', 'null')::text,
*--json_old = jsonb_set(jsonb_set(json_old::jsonb, '{keysMovingOut}', 'null'), '{keysMovingIn}', 'null')::text;
*
*-- 19.02.20
*drop table location_config;
*CREATE TABLE public.location_config
*(
* location_id integer NOT NULL,
* default_rent_no_tax_account integer,
* default_rent_tax_account integer,
* default_nk_no_tax_account integer,
* default_nk_tax_account integer,
* def_nk_target_date timestamp without time zone,
* def_email_sender character varying,
* def_sales_account integer,
* CONSTRAINT location_config_pkey PRIMARY KEY (location_id),
* CONSTRAINT location_config_def_sales_account_fkey FOREIGN KEY (def_sales_account)
* REFERENCES public.account (account_id) MATCH SIMPLE
* ON UPDATE NO ACTION ON DELETE NO ACTION,
* CONSTRAINT location_config_default_nk_no_tax_account_fkey FOREIGN KEY (default_nk_no_tax_account)
* REFERENCES public.account (account_id) MATCH SIMPLE
* ON UPDATE NO ACTION ON DELETE NO ACTION,
* CONSTRAINT location_config_default_nk_tax_account_fkey FOREIGN KEY (default_nk_tax_account)
* REFERENCES public.account (account_id) MATCH SIMPLE
* ON UPDATE NO ACTION ON DELETE NO ACTION,
* CONSTRAINT location_config_default_rent_no_tax_account_fkey FOREIGN KEY (default_rent_no_tax_account)
* REFERENCES public.account (account_id) MATCH SIMPLE
* ON UPDATE NO ACTION ON DELETE NO ACTION,
* CONSTRAINT location_config_default_rent_tax_account_fkey FOREIGN KEY (default_rent_tax_account)
* REFERENCES public.account (account_id) MATCH SIMPLE
* ON UPDATE NO ACTION ON DELETE NO ACTION,
* CONSTRAINT location_config_location_id_fkey FOREIGN KEY (location_id)
* REFERENCES public.location (tp_id) MATCH SIMPLE
* ON UPDATE NO ACTION ON DELETE NO ACTION
*);
*
*-- 20.02.20
*alter table mandator add column default_pre_tax_account int references account;
*alter table mandator add column default_deposit_account int references account;
*
*INSERT INTO tenancy_add_cost(name, val) VALUES
*('Schild Briefkasten',50),
*('Schild Zimmertür',100),
*('Kleines Schild Hauseingang',300),
*('Großes Schild Hauseingang',500);
*INSERT INTO furniture (name) VALUES ('Schrank'),('Tisch'),('Stühle'),('Garedrobe'),('Couch'),('Sessel'),('Lampen'),('Küche'),('Gardinen'),('Bett'),('Waschmachine'),('Trockner'),('Kommode'),('Regal'),('Teppich'),('Kleiderschrank'),('Nachttisch'),('Badschrank'),('Schreibtisch');
*
*update tenancy set deposit_values = '{"openNk":0,"defects":0,"newDeposit":0,"openRent":0,"deposit":0,"extern":false,"safetyReason":"","transferDate":null,"cash":false,"externName":"","safetyKeep":0}';
*
*update invoice_document set paid = false;
*
*-- 21.02.20
*
*drop table invoice_transfer;
*CREATE TABLE public.invoice_transfer
*(
* invoice_transfer_id serial primary key,
* invoice_document_id integer,
* transfer_id integer,
* value numeric
*
*);
*
*alter table transfer add column generated boolean default false;
*alter table transfer add column transmitted boolean default false;
*alter table transfer add column generated_by integer references main_user;
*alter table transfer add column generated_on timestamp without time zone;
*
*alter table transfer add column assigned boolean default false;
*alter table transfer add column assigned_transfer int references transfer;
*alter table transfer add column ignore boolean default false;
*alter table transfer add column ingoing boolean default false;
*
*create table filelog_banking(
* filelog_banking_id serial primary key,
* filelog_id int references filelog,
* transfer_ids varchar,
* transmitted boolean DEFAULT false,
* transmitted_by integer,
* transmitted_on timestamp without time zone
*);
*
*INSERT INTO public.filelog_type(
* filelog_type_name,
* constants_value, basic_file_type)
* VALUES ('bankstatement', 'BANKSTATEMENT', 'BANKING');
*
*-- 25.02.
*alter table invoice_document add column vat_account_id int references account;
*alter table invoice_document add column project varchar;
*
*
*alter table invoice_document add column ignore boolean default false;
*update invoice_document set ignore = false;
*alter table invoice_document add column other_payment_account_id int references account;
*
*
*CREATE TABLE generated_transfer
*(
* gen_transfer_id serial primary key,
* valuta timestamp without time zone,
* customerref character varying,
* value numeric(14,6),
* usage character varying,
* isbooked boolean DEFAULT false,
* autobooked boolean DEFAULT false,
* checksum character(32),
* comment character varying,
* bdate timestamp without time zone,
* executionstamp timestamp without time zone,
* src_iban character varying,
* src_bic character varying,
* src_bank_name character varying,
* dest_iban character varying,
* dest_bic character varying,
* dest_bank_name character varying,
* generated boolean DEFAULT true,
* transmitted boolean DEFAULT false,
* generated_by integer references main_user,
* generated_on timestamp without time zone,
* assigned boolean DEFAULT false,
* assigned_transfer_id integer references transfer,
* ignore boolean DEFAULT false,
* ingoing boolean DEFAULT false
*
*);
*
*alter table transfer drop column assigned_transfer;
*alter table transfer add column assigned_gen_transfer int references generated_transfer;
*
*-- 26.02.
*INSERT INTO public.filelog_type(
* filelog_type_name,constants_value, basic_file_type)
* VALUES ('bookingcsv', 'BOOKINGCSV', 'BOOKING');
*
*alter table transfer drop column assigned;
*alter table transfer drop column assigned_gen_transfer;
*drop table generated_transfer;
*INSERT INTO public.invoice_type(
* invoice_type_name)
* VALUES ('Nebenkosteneingang');
*
*
*-- 27.02.20
*
*alter table invoice_document add column otherPaymentAccountId int references account;
*
*INSERT INTO public.filelog_type(filelog_type_name, constants_value, basic_file_type)
* VALUES ('PAIN0001', 'PAIN0001', 'BANKING' );
*
*alter table invoice_document drop column paid;
*
*update tenancy set nk_month = 0 where nk_month is null;
*
*alter table invoice_document drop column otherPaymentAccountId;
*
*CREATE OR REPLACE VIEW public.invoice_document_view AS
*SELECT a.invoice_document_id,
* a.created,
* a.location_values,
* a.entry_date,
* a.booked,
* a.divided_on,
* a.value,
* a.end_date,
* a.start_date,
* a.invoice_type_id,
* a.invoice_type_name,
* a.invoice_name,
* a.invoice_description,
* a.vat,
* a.creator,
* a.nk_year_flag,
* a.customer_number,
* a.pre_taxes,
* a.pre_tax_base,
* a.invoice_date,
* a.due_date,
* a.location_id,
* a.no_transfer,
* a.already_transfered,
* a.income_invoice,
* a.pre_tax_comment,
* a.debitor_account,
* a.tenancy_id,
* a.nk_category_id,
* a.nk_category_name,
* a.invoice_number,
* a.ext_comp_cred_acc,
* a.ext_comp_debt_acc,
* a.nk_cat_acc,
* a.ext_comp_cred_acc_number,
* a.ext_comp_debt_acc_number,
* a.nk_cat_acc_number,
* a.filelog_id,
* a.invoice_type_description,
* a.external_company_id,
* a.vat_account_id,
* a.project,
* a.ignore,
* a.other_payment_account_id,
* ( SELECT
* CASE
* WHEN invoice_booking.init_statement IS TRUE AND booking.transmitted IS FALSE THEN concat('INIT#f#', booking.booking_id)
* WHEN invoice_booking.init_statement IS TRUE AND booking.transmitted IS TRUE THEN concat('INIT#t#', booking.booking_id)
* ELSE NULL::text
* END AS "case"
* FROM invoice_booking
* LEFT JOIN booking USING (booking_id)
* WHERE invoice_booking.invoice_document_id = a.invoice_document_id AND invoice_booking.init_statement IS TRUE) AS init_statement,
* ( SELECT
* CASE
* WHEN invoice_booking.finish_statement IS TRUE AND booking.transmitted IS FALSE THEN concat('FINISH#f#', booking.booking_id)
* WHEN invoice_booking.finish_statement IS TRUE AND booking.transmitted IS TRUE THEN concat('FINISH#t#', booking.booking_id)
* ELSE NULL::text
* END AS "case"
* FROM invoice_booking
* LEFT JOIN booking USING (booking_id)
* WHERE invoice_booking.invoice_document_id = a.invoice_document_id AND invoice_booking.finish_statement IS TRUE) AS finish_statement,
* ( SELECT
* CASE
* WHEN invoice_booking.correction_statement IS TRUE AND booking.transmitted IS FALSE THEN concat('CORRECTION#f#', booking.booking_id)
* WHEN invoice_booking.correction_statement IS TRUE AND booking.transmitted IS TRUE THEN concat('CORRECTION#t#', booking.booking_id)
* ELSE NULL::text
* END AS "case"
* FROM invoice_booking
* LEFT JOIN booking USING (booking_id)
* WHERE invoice_booking.invoice_document_id = a.invoice_document_id AND invoice_booking.correction_statement IS TRUE) AS correction_statement,
* ( SELECT
* CASE
* WHEN invoice_document.income_invoice IS TRUE AND transfer.transmitted IS FALSE THEN concat('OUT#f#', transfer.transfer_id)
* WHEN invoice_document.income_invoice IS TRUE AND transfer.transmitted IS TRUE THEN concat('OUT#t#', transfer.transfer_id)
* WHEN invoice_document.income_invoice IS FALSE AND transfer.transmitted IS FALSE THEN concat('IN#f#', transfer.transfer_id)
* WHEN invoice_document.income_invoice IS FALSE AND transfer.transmitted IS TRUE THEN concat('IN#t#', transfer.transfer_id)
* ELSE NULL::text
* END AS "case"
* FROM invoice_transfer
* LEFT JOIN transfer USING (transfer_id)
* LEFT JOIN invoice_document USING (invoice_document_id)
* WHERE invoice_transfer.invoice_document_id = a.invoice_document_id) AS transfer_status,
* ( SELECT case when exists(select true from invoice_booking where invoice_document_id = a.invoice_document_id AND invoice_booking.finish_statement IS TRUE) then (select booking.transmitted
* FROM invoice_booking
* LEFT JOIN booking USING (booking_id)
* WHERE invoice_booking.invoice_document_id = a.invoice_document_id AND invoice_booking.finish_statement IS TRUE) else false end) AS paid
* FROM ( SELECT DISTINCT invoice_document.invoice_document_id,
* invoice_document.created,
* invoice_document.location_values,
* invoice_document.entry_date,
* invoice_document.booked,
* invoice_document.divided_on,
* invoice_document.value,
* invoice_document.end_date,
* invoice_document.start_date,
* invoice_type.invoice_type_id,
* invoice_type.invoice_type_name,
* invoice_document.invoice_name,
* invoice_document.invoice_description,
* invoice_document.vat,
* invoice_document.creator,
* invoice_document.nk_year_flag,
* invoice_document.customer_number,
* invoice_document.pre_taxes,
* invoice_document.pre_tax_base,
* invoice_document.invoice_date,
* invoice_document.due_date,
* invoice_document.location_id,
* invoice_document.no_transfer,
* invoice_document.already_transfered,
* invoice_document.income_invoice,
* invoice_document.pre_tax_comment,
* invoice_document.debitor_account,
* invoice_document.tenancy_id,
* nk_category.nk_category_id,
* nk_category.nk_category_name,
* invoice_document.invoice_number,
* accec.account_id AS ext_comp_cred_acc,
* acced.account_id AS ext_comp_debt_acc,
* accd.account_id AS nk_cat_acc,
* accec.account_number AS ext_comp_cred_acc_number,
* acced.account_number AS ext_comp_debt_acc_number,
* accd.account_number AS nk_cat_acc_number,
* filelog.filelog_id,
* invoice_type.invoice_type_description,
* invoice_document.external_company_id,
* invoice_document.vat_account_id,
* invoice_document.project,
* invoice_document.ignore,
* invoice_document.other_payment_account_id
* FROM invoice_document
* LEFT JOIN invoice_type USING (invoice_type_id)
* LEFT JOIN external_company USING (external_company_id)
* LEFT JOIN nk_category USING (nk_category_id)
* LEFT JOIN account accec ON external_company.cred_account = accec.account_id
* LEFT JOIN account acced ON external_company.debt_account = acced.account_id
* LEFT JOIN account accd ON nk_category.account = accd.account_id
* LEFT JOIN invoice_booking USING (invoice_document_id)
* LEFT JOIN booking USING (booking_id)
* LEFT JOIN filelog ON invoice_document.invoice_document_id = filelog.invoice_document_id) a;
*
*
*-- LIVE 27.02.
*
*-- 03.03.20
*alter table short_term_tenancy add column vat_acc_id int references account;
*
*INSERT INTO public.invoice_type(
* invoice_type_name)
* VALUES ('Standmiete');
*
*-- 06.03.20
*
*alter table tenant alter column zipcode type varchar;
*alter table tenancy_tenant alter column zipcode_old type varchar;
*alter table tenancy_tenant alter column zipcode_new type varchar;
*
*alter table short_term_tenancy add column debt_acc_id int references account;
*
*DB QUERY ENDE
*Beschriftung Buchung:
*-Betragamv
*-Gegenkonto
*-Belegfeld1 (Rechnungsnummer)
*-Datum
*-Konto
*-Kost1 (Kostenstelle)
*-Buchungstext
*
*Kostenstellen SMP: 10 für Thun, 20 für Olten
*Kostenstellen Hepa: 20 für Matzingen, 30 für Egg, 40 für Rudolfstetten
*
*
*Fragen 24.10.19
*rechnungsnummer Einzigartigkeit prüfen?
*Darf die "Nummer" (long) die zur identifizierung der Equipment-Instanz genutz werden und vom Nutzer eingretragen werden kann mehrfach vorkommen oder
*muss sie auf einzigartigkeit geprüft werdinfo@rischmann.deen bevor sie an den Service gesendet wird ? wir vergeben, wohnungsnummer/kennung
*Soll es vorschläge für diese Nummer beim eintragen geben ?
*
*Soll es die möglichkeit geben die Rechnung für das Equipment und den Wartungsvertrag als PDF/JPG/PNG hochzuladen? und die einzelne waertung an sich
*Wird der Wartungsvertrag für das Equipment in den Nebenkostenabrechnungen berücksichtigt. nein
*Und wenn wie in welchem Fall die Möglichkeiten sind unterschiedliche Verantwortliche für bezahlung Mieter oder Eigentümer
*Welche möglichen Wartungsintervalle gibt es ? Min / max? 1 Woche und zwei Monate vorher erinnern? Sprinkler jeden Tag
*Rechnungsverlauf vor Erfassung im System aufnehmen? hjkhk
*WIrd Equip auf ein TP gemapped? nur informell
*
*Mieter / MV Welche Adresse für Rechnungen, Mietvertrag usw.? Was beduetet die Adresse bei MV Erstellung?
*
*
*F
*
*Fragen 08.07.19
*Grundriss nur als Zeichenhilfe oder muss immer korrekt hinterlegt sein
*mieteranteil bis 250€ trägt vermieter?
*
*
*Zusätze:
*Kaution = 3 mal Monatsmiete ( Customizing)
*
*
*Fragen 12.06.19
*Gesellschaft:
*Eine Gesellschaft = mehrere Mitvertragsvorlagen oder nur eine?
*Wovon hängen die Dokumentvorlagen ab? Besitzer / landlord? Gesellschaft?
*Einheitspreise pro Location / mandant?
*NkGruppen für eine Gesellschaft mandant?
*Abrechnungsintervalle? Gesellschaft, Landlord?
*Wie sieht eine NkAbrechnung bei pauschalen Nk aus?
*Kommawerte bei Verteilung möglich? 1,3 Personen usw.
*prettyNumbers bei Inputs?
*Sind bei rischmann(xlx) Alle Räume von einem Mieter in einem MV? oder handelt es sich um meherere Verträge?
*Was hat es mit den zwei Debitoren Werten in der XLX auf sich?
*Rechnungsseiten aufteilen ? Nk und Nicht Nk?
*Mietverträge/Räume mit Nebenkosten akonto und gleichzeitig pauschal, wie behandeln?
*Was muss an Mietvertrag bearbeitet werden können? Neuer Ausdruck, neuer Mietvertrag?
*Alle Mietverträge fortlaufend durchnummerieren?
*Gibt es vorgedrucktes Briefpapier?
*
*
*
*
Fragen nach 08.01.19
*Welcher Methode / Schlüssel wird für die Berechnung von Umsatzsteuer Berechnung bei gemischt genutzen Gebäuden benutzt? Umsatz oder Flächenschlüssel. Unterschiede BRD Schweiz?
*https://steuerbuero-bachmann.de/fuer-vermieter-flaechenschluessel-fuer-die-umsatzsteuer-bei-gemischt-genutzten-gebaeuden/
*In Geschäftsraummietverträgen – dazu gehören auch separat abgeschlossene Garagenmietverträge –, bei denen der Vermieter zur Umsatzsteuerpflicht nach § 9 UStG optiert hat, ist der Vermieter seit 1.1.2004 verpflichtet, im Kopf des Mietvertrags die Steuernummer und eine fortlaufende Nummerierung der Verträge anzugeben.
*Alle Mietverträge fortlaufend durchnummerieren
*Dabei müssen sämtliche Mietverträge eines Mietobjekts, d. h. auch die Wohnraummietverträge für das betreffende Anwesen, laufend nummeriert werden, wenn der Vermieter für ein Mietverhältnis des Anwesens zur umsatzsteuerpflichtigen Vermietung optiert hat.
*Umsatzmiete: Wird eine Mindestmiete festgelegt?
*Zwangsanteil?
*Untermiete?
*Mehrere Tps an verschiedenen Standorten in einem Mietvertrag. Welche Adresse darstellen?
*Laufen Verträge bei denen nicht die Option gezogen wird aus oder verlängern sich diese autotamisch?
*Sind Nebenkostengruppen, Nebenkostenattribute auf eine Location begrenzt?? Default values für nkAttribute, für alle Locations gesetzt??
*
*
Fragen:
Vorgang Nebenkosten mit Anzahl?
* Wann / wie wird die Anzahl bestimmt: Freihand Daten (Hochladen der Rechnung Anzahl eingeben), Daten aus DB (hochladen der Rechnung, neuen Zählerstand eingeben / Verbrauch angeben, Zählerstand berechnen?)
* Wie wird mit Grundgebühr bei NK mit Anzahl umgegangen? Extra NK Position für Grundgebühr / extra Feld für Grundgebühr? Problematisch wenn System tatsächlich Wert per Anzahll * Einheit ausrechnen soll
* Festlegung der Heizkostenabrechnung nach Verbrauch im System 50-70%?
Wird aktonto usw. für alle NK zusammen gezählt?
Sonstige Rechnungen? Rechnungen im Prorgamm unabhängig von NK
?? Nebenkostenabrechnung QM: Berechne Quadratmeteranzahl aus NKGroup oder GesamtObjekt
Muss der sogenannte Gewerbeanteil von der Gesamtfläche abgezogen werden, ehe die Betriebskostenabrechnung erstellt wird ?
*Gewichtung:
*Zeitanteilige Verteilung der Nebenkosten tageweise?
FRAGEN:
Verteilerschlüssel bei Rechnungsupload festlegen?
Zeitpunkt bei einmaligen Rechnungen (reicht Start?)
Wann verändert sich Preis pro Einheit
Zeitanteilig = Monat oder Tage? pls Monat...
NKGroups: Unterschiedliche Gewichtungen bei einzelnen Rechnungen?
Dienen Zählerstände tatsächlich zur Berechnung? Oder nur als Notiz / Auskunft für Mieter und Vermieter
DIREKETE Verteilung, bei Rechnungseingang:
Vorteile:
"Leichter" zu berechnen
Direkt konkrete Werte nach Rechnungseingang -> Statistiken, momentaner Stand usw.
Nachteile:
Änderungen in den Strukturen führen zu Neuberechnungen und es wird eine vollständige History benötigt
Verteilung bei NK ABRECHNUNG:
Vorteile:
Alle Informationen sind bereits vorhanden, alle Änderungen während des Jahres können berücksichtigt werden
History im Bezug auf Berechnungen wenig bis gar nicht nötig
Nachteile:
Relativ viel Aufwand auf einmal für den Nutzer
Kompromiss:
NKGROUP bei Abrechnung
TPRechnung direkt
Vorteile:
Zuweisung von Spezialfällen wenn alle Informationen noch bewusst sind
* Nachteile:
* Änderungen von NKGroups, evtl. Zusatzpostionen notwendig
Problem: Buchen der nicht auf Mieter angefallenen NK
*Nachdem für alle Mieter NK erstellt worden sind -> Rechne reste zusammen und buche auf Eigentümer?
*Oder Eigentümer == Mieter und Abrechnung für ihn erstellen?
*Problem: NK mit Anzahl(Zählerstand) in definierter Nebenkostengruppe:
*Eine Rechnung : Anteilig nach TP Mietzeitpunkt aufgeteilt? oder miteinberechnung des Zählerstandes bei Auszug?
*VLT grundsätzlich über Zählerstand? Wenn Mieterwechsel, suche nach Zählerstand bis zu diesem Zeitpunkt
*Problem: Anzahl allgemein: Grundgebühr ohne Verbrauch! Wenn wir anzahl * einheit im Programm ausrechnen muss Grundgebühr angegeben werden bei Rechnungseingabe | Evtl. auch extra Posten für Grundgebühr? Problem unterschiedliche Stellen gleiche Rechnung
*Problem: Anzahl und NKGroup: BSP: Mieter erhält einen zweiten TV-Anschluss mitten im Jahr(Eine Rechnung ab Zeitpunkt X andere Anzahl )
*Extra TpRechnung für die eine zusätzliche für dieses Jahr? TPRechnung könnte wie von Rischmann gewünscht von Hand entsprechend beschriftet werden
*Eventuell auch bei NKGroupverteilung ein Zusatzfeld mit Gewichtung? Extra NKGroupRechnung Eintrag mit Gewichtung 0 bei den anderen? StartZeitpunkt der zweiten Rechnung ab Zeitpunkt zweiter Anschluss
*
*
*-> Wie viele Informationen müssen bei der Definition einer Nebenkostengruppe angegeben werden? Besonders im Bezug auf Anzahl
*Anzahl : Art der Anzahl : IstZählerstand Angabe, Wert von Hand
*
*
Minimalinformationen einer NK Abrechnung:
*Die Anschrift des Mieters muss vollständig und korrekt angegeben werden.
*Die Wohnung muss angegeben werden. Zum Beispiel: 3. OG, links.
*Die Abrechnungseinheit muss beschrieben werden, d.h. wird für ein Haus oder vielleicht für mehrere zusammenhängende Häuser in einer Wohnanlage abgerechnet?
*Der Vermieter muss den Abrechnungszeitraum in der Nebenkostenabrechnung benennen. Von wann bis wann wird abgerechnet? Zum Beispiel vom 01.01.20xx bis 31.12.20xx.
*Die einzelnen Nebenkostenarten, die umgelegt werden, müssen in der Abrechnung genannt werden.
*Der Verteilerschlüssel muss aufgeführt sein. Wie werden die Nebenkosten umgelegt? Zum Beispiel nach Wohnfläche, Personenanzahl oder Wohneinheiten.
*Der Vermieter muss die Gesamtkosten angeben.
*Aus der Nebenkostenabrechnung muss die Berechnung der Kosten für die abzurechnende Wohnung hervorgehen.
*Die Vorauszahlungen des Mieters müssen in der Abrechnung angegeben werden.
*Schlussendlich muss dargestellt werden, ob der Mieter eine Rückzahlung erhält oder eine Nachzahlung leisten muss.
*
TODO:
readMe für starterServiceBasic
Klassen Basisplan:
Diagaramme:
https://www.draw.io/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=NK%20QM%20(4).xml#R7Vxtc5s4EP41zLQ30wzv2B%2FjJM295c5tctfrfenIRgZdMaJCrp3%2B%2BpNA2IAUm8S82NM204lYJCF2n2dZ7UI062q5uSUgCe%2BwDyPN1P2NZl1rpmlYY4f94pLHXDLSR7kgIMgXnXaCe%2FQNCqEupCvkw7TSkWIcUZRUhXMcx3BOKzJACF5Xuy1wVL1qAgIoCe7nIJKlH5BPQ3EXpreT%2FwxREBZXNtxxfmYG5p8DglexuJ5mWovsX356CYq5xI2mIfDxuiSybjTrimBM89ZycwUjrttCbfm4t0%2Bc3a6bwJg2GWDmA76CaAWLFbsRGzqZsUbAG4VggdmUbMX0UWjJ%2FbLCxYk3aWbDS9bBGCeb3clilr8hoRCxkab%2BHs7DeBUHrPnHb7fv%2F%2Fxrylr3FMQ%2BID5vzsNIu7K0yVWaZrj6sizWwG4kX0Z1aUxcWq5ZWaVJ4YbLQ7qMmMBgTQLZasEs66Cz4wSjmGaIcSaac80kYEVxfkfZABChIGbtCC74VF%2FZvSAGlkshpjhh0jQBcxQHD%2Fzg%2Bo29XUrZGMI%2BfAK4KYmEcW4hXkJKHlkXcbbAieCRKw7XO1A6upCFJUAWw4DgQbCdeIcF1hBwUEPDkjQJfUYScYgJDXGAYxDd7KSTDPnQF3otqZxpgDz%2BI%2BTZwUd%2BcOEUh1NIEFsiJKLPf5DSR%2BEYuDWYaHfJ33GmZGOfjlO8InOxcFu4EEACKHoJB8Vvaa8dCIwARV%2BrfuEYtdoS4wo%2BpGsGC81kM%2BgP0%2Fz3LVklCczb%2F0LEOMJJlB9viUrqHCN5B5xQxLXFj%2FXaOXnwLVyjeUgzXtbsnlKCP28doVm1LPNgCe%2B33AT8WXCxiPB6HgJCL3xEmG%2F%2B5AMKWL91iCi8ZxzhndesaycEMUxXYojhqRji2Mfb0nC64ciOFh%2B7oIMj08Edig6O4gHUDvxSdn%2F0k9Eh9Jwq9rYus4w9lXd2W%2FDOo8N6OwKKrcLNleHmDQU398l4B%2B0cYQqW9N0d95IsoMkiHbDkmIlnaVKNOraDJpBwL87Dm3y8CFt0P%2FO%2B8kWEY5dnksxYNZIKyyXDtQFruwpryzBlWJsdwbrYAJwDrj0Z1%2BOhcO0dxvUEpEiEGCrUbcGu1%2BIR%2FSf2%2F9XD9CLDM19RgfF3d69PDq12r2hVbZ9OFK1jGa2GMRRcx4fhGuTxKKQH%2FbA6hs1gK2F%2B1%2FcsfK%2Bj94lmlRM5UTQX0K3AebAgtljNDzwfwvO4TzyP2oRvb7szQxEvG9Zg0G4cMX%2FIo4U8CZjDuxFE9%2FCEQ%2F6pLEaDqc6UJK7XI0nMMwq4CxZUmDFYyF2sZh8zYOyvD9KiQh8O%2BXKm7ywR7Ll9Ilhlh1NFsCIKL5Y7AIIbhOHfKYJHvSLY7itQ6b7UUqC5gvDB9pnFan4gXEL4uMhe94JweYP0Pi%2Fxzj8HYAYzzdfVuDWMrN%2BaLl9YIWAUWKIYUEyesEAbaq8VCQxdUcPtrEpgdlSg0gYo4qrqCEUZZADPIu%2BL9tRxH6Z3CNKX1HTrSYLL%2BBsIo1dglfJpEz7t62xsPZeg36CYwWlPpqB9QvVS8bWtGqMsRyZUZyVfr1VGPY8gNZQfZsxIZow96osgDSqUp1rZdd0qxExLEQ125bO9UyrtPhdytgJyntcT5GyV5pS5Kq1U7tpJTO42XwER4U0JRNzJJgRzb%2FpL5k1fn2Rs59aCDFsVY3QV23kNao%2FdJL9Vyb89D7UXWEUygcJQja3i9Blx2%2FKLNd9JxF133v1G3LbXprMedi9vn1TEbcsRd81FozzebSmWZUHsDKSwQ6C
OakA1ZJy6HcHUGXcD0042hlIQUnm7TJdBWiTvGvjq9t8wkwsqfW4MlzAkCzAPz29TeNSzdlx7D3jc557QNSRdnUSheT9vTAVv7AF5YyrCyP72i0ehzzDqWT7Vew5dhRzuKRXA9mNO8SGG6w6IOfljDGnrcs2WH0ZgteDv9uZOVitKBaCr3eCRaKyl%2Bs1RjxsP9%2BS%2BiVBGIE3QqnpxvQMPKYZO%2BVdoJSuaem37aNfmyNclhtUMtF1HM5s1fslHO7nESbtUsc0%2BqSJnTv6AKD45%2FmwQLU3Bjj6WzryAWJ7iMVAEZwMQy9Vrc%2BRrbYVYckbyV9CNfeWd17PtW7LuztYt2beL0PIJ%2B9Y57XjN7HtJCHgsdROfBe%2B5UD3BJy709skB5pEDLKPyOTdr5It%2BMT47SgN0kq3ajzlFGsBr%2Fjxo%2F4Mc1XuV8kdgMbunWZ6XDZlW3p7Me61sD%2BUjprUrHPFk7XWMY277BYqiQqSZ1kTnPx09i1173N%2BzuMDKWebLW9686qogqLNyZ6ub1UFdkOL15CEzkZ6cFxg8YX4kUr0qUj0Zp10lzD05VbBmyoOklBbg7rslXcI5ShGOe2S9YzZMWW2Fz1AnO9z9TZs8Ttn94SDr5n8%3D
Prüfen glassfish privileg droppen, Rechte einschränken
https://github.com/BlackrockDigital/startbootstrap-sb-admin
Basis ERM
https://www.draw.io/?lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=ERM.xml#R7V1Zk6M4Ev41fuwKJCGOx7p6JmKndyemdqJnH7GtMkxh8ADuOn79CiNskOSjbEgwTT1027I4pPwylZnKTE3I%2FfLtl8Rb%2Bd%2FiOQsn2Ji%2FTcjDBGPk2jb%2FL295Fy2YOEXLIgnmom3X8BR8MNFoiNZ1MGdprWMWx2EWrOqNsziK2CyrtXlJEr%2FWuz3HYf2pK2%2FBlIanmReqrd%2BDeeYXrZgQa%2FfDryxY%2BOWjLWoWv0y92csiideReOAEk%2BfNX%2FHz0itvJkaa%2Bt48fq00kccJuU%2FiOCs%2BLd%2FuWZjPbjlvxXVf9%2Fy6ffGERdkpF9jle2Tv5eDZnM%2BF%2BBonmR8v4sgLH3etd5vxsfwOBv%2FmZ8uQf0T8I39o8v5X9cv%2F8k43lH9NMy%2FJbnPi8KYojljZ9jUIQ3ErFs2lHryl8vvfLMveBVy8dRbzpt0b%2FhbHK%2FHoNEviF3Yfh3GyGRMxNn%2F8l2K0%2BRD3TphoSuN1MhO9sMCglyyY6GW5W2pxPmDxkvHR8j4JC70s%2BFG%2FvSfwuNj225GEfxBU2UNSZLZCooIqOyINj0QIESAaiYf%2F8MK1uOm3gGU%2FWJIl3kKhXp02r36QsaeVtxnIKxeodXqJO%2FNbsbfD86GOU1xglsJGiGNiiu%2BvO9mGyj5%2BRaxZxuVT4yBl%2FC2gF105eomKXsfQE7V5AWPgcQ04i0QWhiKR6YxrwFkkQqYNRCOirAF%2FpizpXPjbZl34Ywoo%2FE1lTp4yL5pzMHQ%2BL8ix6xNjQq6KVJ2YmR9O7snk7j5Nc3Oq4%2BnBbn12bAw4O5YyO3de9NL5nNAO1Sh7NAJOWABsdQGwodZop1EKDYwKDpQlhpALwSgDJNHl1vLmUj5c773SYRUHUZZW7vx73lARqpJ%2BYhHJYXWsv2FI%2BCjeYIeW7VBOE7TK2pOvyu79lCULb8pWSZzFL3HY%2FQqNiH4iYBQ7ux0uu36TscpSptkERyksgKglkR5JJC1YXVy2o%2BpneZMbT59jTuWC8ntT3ImIqhtGChQ5U2V1hCUsDT686aZDTk8xct6b3k3oA2%2FxwmAR8YYZJyg328hdzpzBzAtvxQ%2FLYD7fwDjkYiC82%2Fr5K3ARnv4D7C02LMSbTLbbAFUg7bNYxZ2%2BGDcudqzaNH8R7HghsMrbiLu69evj5%2BeUZRNZSnyOgLRRd%2BC1CYfqEuyo8oJe6vI7k8uRxOVW00yr%2BkZUGFw309LDizVnWsc10WVc2igjItzSEj4sRVnDpajwT4C4fZvdnX0Lsq2WxT8XShamk%2BE67XXkI1A7t44i9f7w1kuFouCGg6I%2BQloOrjIpt1E685PguXufsLxRipB7YzvURiYu%2FsVw80Ta2TftLX%2FrhRM9m%2FMR1RhkpBEFS9GgMJLMHtswbkjlj9bvuMc8O2MVL%2B88LuIHsaCDwqW2%2BcmMPDokzyWR0wS3ftoccqStL8ukVXprLjAOXnC5%2FWQ0qwYOyNt2DELupbreWRDCBqJ1RDiH%2FWbKBdRp2ARHitr1n%2Bnf7KV7nQs5skPfBtRGkboRn%2BvoT5mXrdPu54ZIW862S%2BHmBo%2B6xSlSx1KlDgbb7VS94U9ZPHt5ZUn34RKKnWm7NiBnqxt5%2F2XJMohu%2BxB8RJz61LiQjE1biiUZmDqhc9CDMbbqOyrQ2z10DdIhdJHqPnoMooUXLdKEzfxoHXUfbu9IvG26kAoNailSeFjMXU5%2FjbnBMnpwS%2FbcsDQrHY0AU3oMRdL8%2B1%2B3095IGVMO0EWAUoaOe4enAFjjkKBge4eGatqq2sMYQ3wS1ZAB5S1Gq
J21obf7Pk0SqRNn39YnUwpi67CvT%2B7vNOzqKwdYXbjYlEUvcZqxaBWnQRbE3dsRspYMun45457MKUyGVSZzLt2TOV1JBsl4GSKNUNEIoSRjRdY8%2FrMOVksW9cDJJvsfCWQOW5nENsL3IHx1ie9Q4FWjUvmr%2Bnm6x60ZavDrx8vpOgXCrrw8amK0HA10nSagOyabnwJdXZobEHTJaH%2BfSSG4pVHdf5qyIPK9MGM9ky2mpiRAW7KF4FaQOzDzlmhdn1DCRfV8Thm3Gj%2B6hS02pOjcMk0FBLajNncKbE0VtmBhlmqtkf5oc3JIIdWUjmgLug3nkAxV4mp2%2B8F0BaLu9vdFV7CtDpFLRuQeR26ZVVjTFcB2mdqyROo0sgdJJCiFrnz4FYgX21FDBFsTL6rUbSfnamCxM2aHWp6pankLtlHy7qw8rtP4WPcL0CaBWy8pbhnQZYpeYbWIJL0h%2B%2Fiozg6nQFinOjv8OeC0yYGeBjM%2F76zZyYXEO5FziXXZG4YG8G4TgG82Q0HAG1XAXcHzACU51RVMhaqXStXtlz64mRCW3Eyuo8Y3tybBQXZert3NRDUpNwgqeJeqKTd9gK0r56AC7hdao9p8CmpdFbX7iHphPQLbcm%2Bs3V%2B9qpdNreqP5a%2Fl3YvXa6I2QTng%2FpmdlpxWCcgsyBi9Widwi4U13AIk4stn90zEW5KIJ4CmJWrJF9tbzURv616AZ10lKvNSRG8u%2FXSBC1S%2BTAkkdKSq55ELLg5ZtlSd6vEtYwmnLDa%2BBsnSUxkPOpgQS0ETCDLt0VKDSb5zjlhHizTIKx%2Fy9h4UJJbjLR2NK6C1%2BvhjzNqZUsiGMvjdlpaQgSk%2BGhK5UJqP206Yy9B0Ux2JoLzClrprJZaCSS5bv%2FJ%2Fb9fPWZJ5iwn52v2igAxJd6Anrpt2E6tCO56JoeFZ45mACiCwVCfBx3rBXgOWsm63NrCcPQJobtktlV4aFm5tjY8ASgyXz%2B6fcwvJzi1NYmVruG0nr3Jg8tbWnb4DtX9hq6bkc3HunN%2BLAAqE6%2FqCqbEi24Kvg5uE7zVDtJzNmooLhNDy2T1zv8qRPQhQrjotpR8MS646mnAGMNDqohn6qRBAAreM8hkVgoPA1TgULCgLzFEdCgu2Cr0oy73vc%2F6W%2FlZBKLwMP3TlQyABbcqILg%2BZryDa1SC6iZgzdyyeeQKiXY1phsG8mKpt1hOfglLQmQCm3rrtpGoMTBaX23q1gwiggKuWbJuyD8%2FP0xc7l7pul9BV16iifH0fijljQ5oZXT59ewVfjZai7%2FoamXEmW2t83C5UuY7y4fXc5HSVBDO%2F66R66eQiyPxOZIxZ9SdAVxSf7Ch5EBljhufZVOrmACMs8XRZfWBvfJd8QeMHGJFTatFe9wGwgk%2F2SlrjxrVL%2F3J5arP42o%2FzYFFL5sGNgSQTgU9Eb5h981q%2FsyTgU5UD6IIQT60EuNTmPUsCOPRzAkDuT4TC0hz%2Fq2m7qtZ65fy%2FL3Fux%2F9mGY7SD4YnY7LZ2drXvuO%2BLz1IlNsKBzJ3yMFTRfdk7nz68DosH%2FDScLT3dkb755%2BTs%2BgcQB%2FHNlBOX7ib%2F%2FDAMi8Iuz%2BWzjSPz1KLB9yMMX0niS2Nw0NADMRqPJD81y2PW5J4cyA9HugnC%2BzbX1PhTFhrK3JcfCiQfiU0keQbs4BO9UZojPc4BQxIV78CKuJj%2B%2FQehnxQGbmayvetyTj8k6WKnglejFXwWlC5WNun97JcqlygGkPm52P9kdDZ%2B0qdFOhkGvuEiWlP84Y5F%2BD6GVtXngYsMWH7%2BIY3G%2BdBwmabk6PIAx9ujrZmSiPLVQ0ged1s1JbsB2orfGUrjLUta9CUPk50VW0uhLpeG5ftNlOWaQ35vyypVreFapthR%2FuX3pF9%2FWXdTOrfg
LO9tyl1CEmeI2pbgMze1oFi9qBqBIiqJN1EwCHzJ3OQNEgjsIjx7dMrEsZbpwtWSyTrOl5RySRDgIUckdlOJuTgcKxLhQRzUptqLiSHnBdlr3z04abAbocAtqVdeVeT5dBaaV2kqT48wVaY79CnK4%2BztrXIP%2F%2FBvJBxbcp4iF%2FWxbGPRSf%2BgGo%2FlRvCMFilG7D63ipvnMfracget%2B1LjokgNzeQsYXedzF0Pm13z3GUCcwi8zhFlFCBBkgkF4WiukNsdSTaNl5GI6TQ6Beu5IVhOvO9Z9XYG8acI2nSLXoiXzQ06arb98%2BUD65z51BZhnWb5gd5ojKi7Sx40rbs9YeJUm04SSMbWJ%2B1dAmVEGMeObpcuaCE074LsHP4gsuNXUtdpoI0fwOmqYx%2F5RFmdM%2FWlrjVF%2BNmd9ZLGWIqVOB%2BRJxRNfDnV244LBknWS5BC81hmuyUBrWlb1JWd8BHi1JWjRHaD%2FcW5C%2B%2Bfvmrye%2FrSv4SCUvkmPyVL0BHfI2q%2FG3a2UjV3bLHYJFToHAFLPuoGelKebXIs6qVCcqz%2FWHZ5qOBdFttHTGzIYEMH2Nm%2BQJ05AKVma2mmVndOvwWbPIiesfCuEUW5l%2BTOM6q88jH5H%2BL5yzv8X8%3D
Planung 808082018:
Was hat Vorrang Erstellung mit Zeichenoberfläche oder "Admin"steuerung
Vorbeitungen Treffen mit Höbel KW 30
ERM, ERM mit Attributen
Basisprozesse / Ablauf Dateneinpflege
Fragen:
*Werden Standorte stockwerkübergreifend angelegt? Keine Pflichtangabe, kleine Nutzer benötigen keine Standorte innerhalb eines Objektes KEINE STANDORTE
*Bleibt es bei Raum = Wohnung oder werden Räume noch auf Zimmer aufgeteilt? Reicht bei equipment eine Objekt / Raum / Stockwerk Zuweisung RAUM REICHT
*Werden mehrere Vertragsparteien bei einem Raum benötigt? Reichen dafür mehrere Mietverträge? NEIN WERDEN NICHT
*Werden Zahlunsgeingänge aufgenommen und protokolliert? Gibt es eine Überwachung von offenen Rechnungen? NEIN V3
*Welche Zahlunsgeingänge werden verzeichnet? Monatliche Miete, Wartung, Nebenkosten ... KEINE V3
*
*Eigentühmer Wohnung <=> Mietvertrag, NK? Konsequenzen Nebenkosten. Mietvertrag mit Mietkosten 0 + NK ? JA
*1 Mietvertrag = 1 raum? NEIN aber 1 Raum := 1 Mieter
*INS = Fremdfirma für Wartungsauftträge
*Übergabeprotokoll, Schäden aufnehmen? Zuerst nur Dokument
*Wann werden Nebenkostenpositionen erfasst, bei der Erstellung der Abrechnung oder immer? IMMER
*Gibt es Rechnungen die dem Objekt aber keinem Mieter zugewiesen werden sollen? JA
*Prozess Nkabrechnung
*Mehfrachzuweisung Equipment
*Stockwerk und Equip? NEIN
*NK von nicht vermieteten Räumen
*Rechnung hochladen Pflichtangabe Flag bei Gesellschadft? JA
Milestoneplan:
I) 4.08:
* Erstellung Datenbank
*Zeichenoberfläche
*Maske für Gesellschaft, Objekt, Raum
II) 1.09:
Maske für Mieter
Einpflegen von Mietern mit Verträgen in der Zeichenoberfläche möglich
Basis der Dokumentenerstellung ( Mietvertrag)
Einpflegen von Nebenkosten, inklusive Rechnungsprotkollierung, KEINE abrechnung
III) 1.10:
*Nebenkostenabrechnung berechnen / erstellen
*Test / Liveschaltung Nebenkostenabrechnung
*Wartungspläne
IV) 1.11:
*Masken für Statistiken (Ist- Planmiete)
*Übergabeprotokolle
*Liveschaltung
V) Integration weiterer Module
* Datev im- Export
*ZMP Schnittstelle
*Kalender
*Mieter Login
*Integration Immobilienverwaltung
*
*Wann werden die Daten von Rischmann/Cullmann eingegeben?Ab 1. September sollte mit der Einpflege von Raumplänen begonnen werden
I) 1 18.07 - 30.07
* Erstellung Datenbank
*Bereitstellung passender JSF Umgebung
*Zeichenoberfläche
*30.07 - 12.08
*Maske für Gesellschaft, Objekt, Raum
II) 12.08 - :22.08
Maske für Mieter
Einpflegen von Mietern mit Verträgen in der Zeichenoberfläche möglich
22.08 - 30.08
* EInpflegen von Nebenkosten, inklusive Rechnungsprotkollierung, KEINE abrechnung
*30.08 - 06.09
*Einpflegen von realen Raumplänen
Basis der Dokumentenerstellung ( Mietvertrag)
III) 6.09 - 1.10:
*Nebenkostenabrechnung berechnen / erstellen
*Test / Liveschaltung Nebenkostenabrechnung
*Wartungspläne
IV) 1.10 - ...:
*Masken für Statistiken (Ist- Planmiete)
*Übergabeprotokolle
V) 2019 -> Integration weiterer Module
* Datev im- Export
*ZMP Schnittstelle
*Kalender
*Mieter Login
*Integration Immobilienverwaltung
*
*
*
*
*
Analyse Mietvertrag:
Kündigungsfrist: Auswahl? 3, 6 Monate
Mietzinsanpassung
Zahlungsintervall:
monatlich, vierteljährlich, halbjährlich
Reperaturen:
Selbstbeteiligung bsp. bis 250
nach Inanspruchnahme extra berechnet
Kaution, zu überweisen bis ..., Kautionskonto?
Stichtag NK Abrechnung
Übergabeprotokoll
Einmalige Kosten:
Schild Briefkasten CHF 50,00
Schild Zimmertür CHF 100,00
Kleines Schild Hauseingang CHF 300,00
Großes Schild Hauseingang CHF 500,00
Vermieter = Gesellschaft
vertreten durch : ...
Personalien:
Nationalität, Familienstand
Wohnung:
Mietdauer:
unbestimmt
mit minimaler laufzeit, Angabe erstmals kündbar mit Option
bestimmte Laufzeit, vordefiniertes Ende
Stellplatz:
Nebenkosten:
AKonto, pauschal
Auflistung aller NKGruppen
Zahlungsarten:
Lastschrift
Dauerauftrag
EInzahlungsscheine
Postkonto für Rückzahlung von Guthaben
Bank:
Name
Filiale PLZ Ort
Konto Iban
Clearing Nr
Fragen nach dem Treffen am 03.07.18
Ist eine Gesellschaft(System) der einzige Verwalter in einem System oder können einzelne Wohnungen auch anderen gehören mit zusätzlichem Login
Sollen Rechnungen von Umbauten aufgenommen werden?
Was soll angezeigt werden?
Was muss dafür eingegeben werden?
Welche Masken benötigen wir
Zur Abrechnung von Cullmann:
Was beeinhaltet der große Kostenblock "Laden", "Restaurant"
* Wird dieser Block bei uns aufgeschlüsselt?
* Wie wird zum Beispiel Müll abgerechnet
Nicht alle Mieter haben akonto Werte
Würden die Mieter diese Übersicht erhalten wenn sie Einsicht fordern, bzw. nur eine Ansicht für Ihn, alle NK für Ihn mit seinen Verteilern und Gesamtsumme der einzelnen Posten. Quasi anonymisiert
Reichen nicht rotierte Rechtecke zum zeichnen
Weitere Excellisten
Hochladen von Plan / Hintergrundzeichnung?
Anprechpartner für das Projekt?
Abrechnungszeitraum?
Nehmen wir Zählerstände auf? wenn ja welche? Raum, Objekt, wie oft? Zuteilung, Bild
Mandant? Was ist ein Objekt? St. Gallen oder Langgasse 11, an was richten sich die Rechnungen?
Extra NK für Mieter und Raum? Bsp. raumübergreifend aber gleicher Mieter?
◦ Wartungen, Sicherheitskontrollen, Kündigungen, Ende von Umbauten
*Streichen
• Kalenderverwaltung inklusive E-Mail Export
Gelb → reserviert, Mietvertrag unterschrieben in Post gegeben?
Welche Ex- und Importe werden benötigt
Wir benötigen:
Excelliste für Nebenkostenabrechnung
*bisherige Nebenkostenabrechnungen ( Abschlag) und aktueller Stand
evtl. Planmieten
Planung:
P1: 1.08
* Use Cases, "ERM", Phasenplan
* Bereitstellung Zeichenoberfläche
* Masken und DB für:
* Gebäude anlegen
* Eigentümer
* Stockwerk
* Raum
*P2: Mit Excelliste und Vorbereitungen für NK 01.09
*Maske für Mieter:
*Mieter
*Nebenkostenschlüssel zu Objekt
*Statusaufnahme Raum (frei, miet ...)
*Vertrag Basis
*P3: Testphase 01.10 Live geplant 1.11
*Nebenkostenrechnung:
*Integration aktueller Stand
*Rechnung erstellen
*Rechnungssystem
*History für Nebenkosten
*P4:
*Filelog, Schriftverkehr loggen
*Datev
*Musterverträge
*Kalender
*P5:
*Login für andere Nutzer
*Export ImmoPlatformen
*
*
Masken:
Maske für Nebenkosten:
*Maske 1: Objekt
*Anzeige vorhandener NK
*Angabe Bezeichnung
*Upload Rechnung
*Angabe Gesamtsumme für dieses Objekt (brutto netto)
*Angabe einmalig bzw. Auswahl aus vorherigen NK für dieses Objekt für die Entwicklung der Nebenkosten?
*Angabe Zeitraum der Rechnung (Grundlage für Berechnungsanteil ?) bzw. auf welchen Zeitraum soll diese Rechnung aufgeteilt werden?
*regelmäßiges
*Datum
*
*Auswahl Verteilerschlüssel
*Anzeige aller Mieter:
*Angabe Gewichtung
*Angabe Verteilerwert (Anzahl, )
*optionale zusatzgewichtung : Zum Beispiel Heiz-T % Name
*trifft nicht zu / entfällt
*
*Maske 2 : Raum
*Angabe Bezeichnung
*Upload Rechnung
*Angabe Summe (brutto netto)
*Abrechnungszeitraum
*regelmäßiges
*Datum Zeitraum?
Maske Entittäten anlegen
*Objekt:
*Raum:
*Benutzer:
*Mieter:
*Verwalter
*Hausmeister
*Mietvertrag erstellen
*
Verteiler: Gewichtung haben alle
Anzahl:
Angabe preis pro EInheit
qm:
* Bestimmung über EIntrag in NK
*Zählerstand
Views:
Gesamtübersicht NK für eine Liegenschaft
Übersicht NK für ein Objekt?
Darstellung NK reduziert für einen Raum, mehrfach für mehrere Räume
Exporte:
Export für Mieter
Datev Export
E-Mail bei Wartung
Externe Informationen / Protokolle
Querys:
insert into facility_type (facility_type_name)
values ('Heizungsraum'),
('Zählerraum'),
('Flur' ),
('Treppenhaus' )
insert into equipment_type (equip_type_name)
values ('Brandmeldeanlage'),
('Feuerlöscher'),
('Wasserschlauch Feuerwehr' ),
('Lüftung' ),
('Fahrstuhl'),
('Klimagerät' ),
('Heizung' ),
('Sprinkler' ),
('Wasserversorgung'),
('Entsalzungsanlage' ),
('Tauchpumpen'),
('Hebeanlage'),
('Wasserleitungen' ),
('Elektrische Geräte'),
('Abwasserleitung spülen' ),
('Schiebetüren'),
('Notbeleuchtung'),
('Kassenautomat'),
('Schrankenanlage'),
('Rolltor' ),
('Co2 Anlage'),
('Schaltschrank')
Zusatz Rischmann 06.07.18
Symbole für
brandmeldeanlage
Feuerlöscher
wasserschlauch Feuerwehr
Lüftung
fahrstühle
klimageräte
Heizung
sprinkler
Wasserversorgung
entsalzungsanlage
tauchpumpen
hebeanlage
wasserleitungen
elektrische Geräte
abwasserleitung spülen
schiebetüren
notbeleuchtung
kassenautomat
schrankenanlage
rolltor
co2 Anlage
schaltschrank
neben dem.symbol eine Lampe mit Rot grün gelb siehe unten
die werden dort gesetzt wo sie sind
mit folgenden Daten
Name
Nummer
gekauft am
wo gekauft
bemerkungsfeld
wartungsfirma mit Kontaktdaten
kaufPreis
Preis Wartung
Wartungsintervall
Laufzeit wartungsvertrag
wer muss Wartung bezahlen Mieter Eigentümer
einscannen der Rechnung Anfrage wenn Harken gesetzt wird
( in Kalender übernehmen mit 2 Monate vor Ende Erinnerung und abfragen möglich
Anzeige Lampe im Plan mit grün ist ok und rot überfällig und gelb beauftragt )
Harken dass Wartung gemacht worden ist mit datum wann automatisch Tag wo Harken gesetzt wird
Tausch Batterie
Mietvertrag
Name
Anschrift vor Anmietung
Anschrift bei mietung aus Mietvertrag
Anschrift bei Abnahme neue Wohnung wegen NK Abrechnung aus Übergabeprotokoll
Email
Telefon
Miete ab
mietzins
Nebenkosten
akonto
pauschal
Index Höhe bei mietbeginn
Anpassung ab
erste Anpassung möglich ab
mietende
Kaution
Höhe
Bank
Einzug
umsatzmiete
ab welcher Höhe
Prozentsatz
Staffelmiete
ab... x
ab .... y
ab ... z
1.Optionsverlängerung
2.Optionsverlängerung
Kündigungsfrist
optionsfrist
befristet Mietvertrag bis
Übergabe Schlüsselanzahl
nachträgliche Übergabe Schlüsselanzahl Übergabeprotokoll scannen
automatische übergeben in abnahmeprokoll Entwurf
alle Daten als felder so dass man rechnen und abfragen kann
Besprechungsprotokoll /
Anforderungen Vermietungssoftware (08.04.2018)
Geplant werden soll ein Programm zur Verwaltung von verschiedenen Mieteinheiten, die ihrerseits jeweils mehrere Wohnungen erfassen.
Modul 1: Vermietungsprogramm (Backend)
Eine Übersicht der geplanten Funktionen:
• Anzeige Gebäudegrundriss mit freien, vermieteten, im Umbau befindlichen Räumen sowie Nutzräume eines Stockwerkes
• Abrechnungen erstellen inklusive Nebenkostenabrechnung
• Vertragserstellung gemäß Mustermietvertrag
• Wartungs- und Schriftverkehrsprotokollierung(Speichern der Dokumente)
◦ Wartungspläne der Mieter
◦ Rechnungen
◦ Verträge
◦ Übergabeprotokolle
• Export der Miete und Nebenkosten in ein passendes Datev-Format
• Kalenderverwaltung inklusive E-Mail Export
◦ Wartungen, Sicherheitskontrollen, Kündigungen, Ende von Umbauten
• Login für Verwaltung, Hausmeister und Mieter, Eigentümer?
• Übersicht über alle sinnvollen Informationen inklusive Filterung und Suche
• Modularer Aufbau für bessere Wiederverwendbarkeit / Individualisierung
◦ Verschiedene Währungen möglich
Objektübersicht
• Einzeldarstellung der Stockwerke
• Anpassung der Räume soll durch ziehen gerader Linien möglich sein (Teilung, Vereinigung)
• Beim Klick auf einen Raum soll eine Detailansicht angezeigt werden
◦ Neben allen zugehörigen Informationen soll hier auch eine Zuweisung(Vertrag, Mieter, Raumtyp) möglich sein
• Die Darstellung muss nicht maßstabsgerecht sein, Größe oder Lage der Räume hat keine weiteren Auswirkungen auf das Programm
• Visualisierung der Typen:
◦ Rot → Vermietet
◦ Gelb → reserviert, Mietvertrag unterschrieben in Post gegeben?
◦ Grau → Umbaumaßnahmen
◦ Orange / sonstige zusätzliche Markierung → Notwendige Felder nicht vollständig ausgefüllt
◦ Grün → Freier Raum
Rechnung
• Rechnungen können Objekten, Räumen, Mietern zugewiesen werden
• Rechnungen werden vollständig protokolliert (Eingangsdatum, Ausgangsdatum, Scan des Dokumentes)
• Rechnungen müssen versendet sowie ausgedruckt werden können. Nebenkosten beeinflussende Rechnungen sollen im Programm von den Mietern eingesehen werden können.
• Rechnungsarten:
◦ Monatliche Mietrechnung
◦ Nebenkostenabrechnung
◦ Wartungsrechnungen
◦ Sonstige Rechnungen
Nebenkostenabrechnung
Verteilerschlüssel werden objektbezogen angegeben. Unterjährige Auszüge werden zeitlich auf die jeweiligen Mieter angerechnet.
Einheiten:
• Anzahl
• qm
• Zählerstände(Einzelangabe möglich), hinterlegen einer PDF
Die Beträge können jährlich oder in vier Quartalen eingegeben werden.
Arten:
• Heizung
• Strom
• Wasser
• Energie
• Hausmeister
• Fahrstühle
• Rolltreppe
• Fernsehen
• Müllabfuhr
• Reinigung
• Versicherungen, Mehrfachangabe?
• Revisionen
• Tiefgarage
• Nebenkostenaufwand
• Individuelle Nebenkosten für einzelnen Mieter, Mehrfachangabe
Option weitere Nebenkosten hinzuzufügen:
• Rechnung muss einer Nebenkostenposition zugewiesen werden können
• Felder:
◦ Datum
◦ Rechnungsgrund
◦ Betrag
◦ Verteilerschlüssel
◦ x-Belege(PDF)
Die Preise pro Abrechnungsart(Anzahl, kW/h usw.) werden objektbezogen eingetragen.
Erstellung der Nebenkostenabrechnung für einen Mieter. Die Differenz der vereinbarten und tatsächlichen Nebenkosten muss ausgewiesen und in dem Datev-Export berücksichtigt werden.
Eigentümer eines Objektes oder Raumes
• Name
• Anschrift
• Telefon
• E-Mail
Mieter
• Name
• Anschrift
• Neue Anschrift nach Auszug, für Nebenkostenabrechnung nach Mietende nutzen
• Telefon
• E-Mail
• Zugangsdaten System
• Verträge
• Kaution? Alternativ → Zuordnung zu Raum
Mietvertrag
• Generierung gemäß Mustermietvertrag
• Mehrere Räume möglich
◦ Einzeldarstellung in der Rechnung, Ausgabe von x-Rechnungen mit Endsumme
• Verlängerungsoption
• Verschiedene Typen: Auswirkungen auf Vertrag und MwSt.
◦ Gewerbe
◦ Wohnungen
◦ Parkplatz
• Vertrag als PDF
• Schlüssel / Drücker Liste, nachträglich editierbar
Raum
• Wartungsaufgaben für Mieter (Benachrichtigung, Protokollierung)
◦ Export als E-Mail(Liste mit Prüfdaten)
◦ Mieter muss Protokoll versenden/ hochladen, ansonsten wird der Raum entsprechend gekennzeichnet
• Sicherheitskontrollen (Benachrichtigung ?, Protokollierung)
• Übergabeprotokoll(Ein- Auszug), Generierung gemäß Muster
◦ Enthält zusätzlich neue Anschrift für Nebenkostenabrechnung
• Möglichkeit Daten als öffentlich zu deklarieren:
◦ Integration in Immobilienanbieter
◦ Schnittstelle Daten der Miete inklusive Nebenkosten in Datev Format Cullmann
• Historie:
◦ Mieter
◦ Ist- und Plan-Mieten
◦ mit diesem Raum verknüpfte Rechnungen
◦ Übergabeprotokolle
• Schlüssel / Drücker Liste, nachträglich editierbar
• Felder:
◦ Anschrift
◦ Anzahl Quadratmeter
◦ Eigentümer, kann sich im Objekt unterscheiden
◦ Bilddaten, protokolliert(Datum) zum Beispiel: Vor und Nach Einzug Auszug
◦ Falls vermietet:
▪ Mieter
▪ Mietvertrag
▪ Verlängerungsoption(ja / nein, wie lange)
◦ Indexbindung (ja / nein, %)
◦ Optionen Planung:
▪ Plan-Miete kalt pro Wohnung werden
▪ Plan-Miete kalt pro qm und Monat / Jahr
▪ Plan-Miete inklusive Indexbindung, wird bei Änderung des Index angepasst
▪ Geplante Nebenkosten
◦ Ist-Miete pro qm / JahrDebitoren Nummer für Datev
Phasenweise Implementierung eines Vermietungsprogramms
Aufgrund des Umfanges, der zeitlichen Begrenzung und der Option auf eine Vermarktung des Programms planen wir das Projekt in mehreren Phasen umzusetzen. Durch die inkrementelle Vorgehensweise können wir jeweils auf die bereits abgeschlossenen Module aufbauen. Durch die gewählte Vorgehensweise können wir schon im Vorfeld der jeweils anschließenden Phasen alle dort benötigten Daten sammeln, d.h. es kann dann schon bei Fertigstellung der nächsten Phase mit diesen Daten direkt gearbeitet werden.
Phase 1 : Objekt- und Stammdaten-Erfassung ( 1.08.18 )
Phase 1 beinhaltet die Erfassung aller Stammdaten sowie die Gebäudeumrisse. In dieser Phase soll es bereits möglich sein Objekte, Räume, Mieter und Eigentümer zu erfassen.
Die Erfassung der Räume kann in dieser Phase bereits über das Zeichenprogramm geschehen.
Phase 2 : Export der Mietobjekte an externe Immobilienanbieter. ( < 1 Monat)
Anbieter, wie Scout24 ( von Herr Rischmann erwähnt) bieten eine Schnittstelle zum Im- bzw. Export von Objekten, unter anderem auch Wohnungen, an. Diese Schnittstelle könnte dazu genutzt werden halb- bzw. vollautomatisch von dem Programm befüllt zu werden.
Dieses Modul wird so flexibel wie möglich implementiert, um möglichst einfach auch andere Portale anbinden zu können.
Phase 3 : Integration eines DMS (Dokumenten Management Systems) zur Verwaltung der anfallenden Dokumente. ( Zeitplan gemäß Anforderungen )
Hier müssen die genauen Anforderungen noch abgeklärt werden.Grundsätzlich wird ein System bevorzugt, welches auch bei qualitativ schlechtem Internet noch entsprechend gut zu bedienen ist.Das System sollte eine Unterstützung des CMIS Standard vorweisen. Dies sichert uns eine mögliche Anpassung / Integration anderer DMS.
Sollen bisher erfasste Dokumente migriert werden (ELO-DMS) ?
Soll das System unterschiedliche DMS unterstützen, dies wäre im Zuge der Vermarktung eine Überlegung wert. Die Integration eines DMS würde dann so modular wie möglich erfolgen. In der Basisversion wäre, wenn überhaupt, nur das Standard DMS integriert.
Phase 4 : Integration des Nebenkostenabrechnung-Moduls. ( 1 Monat )
Aufgrund der vielen Faktoren, die die Nebenkostenabrechnung beeinflussen und sich auch von Kunde zu Kunde unterscheiden würden, empfehlen wir die Berechnung in ein einzelnes möglichst flexibles Modul auszulagern. Insbesondere im Sinne der Vermarktung ist dies zu empfehlen.
Phase 5 : Integration des Rechnungs- / Vertragserstellung-Moduls.( mindestens 1 Monat )
Die dynamische Erstellung von Mietverträgen und Rechnungen aus Musterdokumenten, inklusive der Möglichkeit, die Dokumente nach Erstellung noch inhaltlich zu bearbeiten.
Phase 6 : Kalenderverwaltung ( < Monat )
Umfasst eine Monats- und Jahresansicht und beinhaltet eine Export-Funktion (csv, xls). Manuelle Eintragungen sind möglich. Automatisch erfasst werden Sicherheits- , Wartungs- und Kündigungstermine.
Phase 7 : Separate Bereiche für Eigentümer, Hausmeister und Mieter ( < Monat)
Neben der Verwaltungsansicht werden für Hausmeister (Preisübersicht / Raumübersicht) und Mieter ein separater Zugang erstellt. Mieter können dort Ihre Nebenkostenabrechnung, Wartungsaufgaben sowie Mietverträge einsehen.
Die gesammelten Anforderungen des Projektes befinden sich in dem Protokoll des Treffens vom 06.04.18.
Besprechungsprotokoll vom 6. April 2018 /
Anforderungen an eine neu zu erstellende Software zur Verwaltung von Immobilien / Update 25.6.2018 /
Grundlegende funktionelle Anforderungen
Geplant ist eins webbasierte Software zur Verwaltung verschiedener Mietobjekte, die ihrerseits jeweils mehrere Mieteinheiten erfassen
Modul 1: Vermietungsprogramm (Backend)
Übersicht der geplanten Funktionen:
• Anzeige Gebäudegrundriss mit freien, vermieteten, im Umbau befindlichen Räumen sowie Nutzräume eines Stockwerkes
• Abrechnungen erstellen inklusive Nebenkostenabrechnung
• Vertragserstellung gemäß Mustermietvertrag
•Wartungs- und Schriftverkehrsprotokollierung(Speichern der Dokumente)
◦ Wartungspläne der Mieter
◦ Rechnungen
◦ Verträge
◦ Übergabeprotokolle
• Export der Miete und Nebenkosten in ein passendes Datev-Format
• Kalenderverwaltung inklusive E-Mail Export
◦ Wartungen, Sicherheitskontrollen, Kündigungen, Ende von Umbauten
• Login für Verwaltung, Hausmeister und Mieter, Eigentümer?
• Übersicht über alle sinnvollen Informationen inklusive Filterung und Suche
• Modularer Aufbau für bessere Wiederverwendbarkeit / Individualisierung
◦ Verschiedene Währungen möglich
Objektübersicht:
• Einzeldarstellung der Stockwerke
• Anpassung der Räume soll durch ziehen gerader Linien möglich sein (Teilung, Vereinigung)
• Beim Klick auf einen Raum soll eine Detailansicht angezeigt werden
◦ Neben allen zugehörigen Informationen soll hier auch eine Zuweisung(Vertrag, Mieter, Raumtyp) möglich sein
• Die Darstellung muss nicht maßstabsgerecht sein, Größe oder Lage der Räume hat keine weiteren Auswirkungen auf das Programm
• Visualisierung der Typen:
◦ Rot → Vermietet
◦ Gelb → reserviert, Mietvertrag unterschrieben
◦ Grau → Umbaumaßnahmen
◦ Orange / sonstige zusätzliche Markierung → Notwendige Felder nicht vollständig ausgefüllt
◦ Grün → Freier Raum
Rechnung:
• Rechnungen können Objekten, Räumen, Mietern zugewiesen werden
• Rechnungen werden vollständig protokolliert (Eingangsdatum, Ausgangsdatum, Scan des Dokumentes)
• Rechnungen müssen versendet sowie ausgedruckt werden können. Nebenkosten beeinflussende Rechnungen sollen im Programm von den Mietern eingesehen werden können.
• Rechnungsarten:
◦ Monatliche Mietrechnung
◦ Nebenkostenabrechnung
◦ Wartungsrechnungen
◦ Sonstige Rechnungen
Nebenkostenabrechnung:
Verteilerschlüssel werden objektbezogen angegeben. Unterjährige Auszüge werden zeitlich auf die jeweiligen Mieter angerechnet.
Einheiten:
• Anzahl
• qm
• Zählerstände (Einzelangabe möglich), hinterlegen einer PDF-Datei
Die Beträge können jährlich oder in vier Quartalen eingegeben werden.
Arten:
• Heizung
• Strom
• Wasser
• Energie
• Hausmeister
• Fahrstühle
• Rolltreppe
• Fernsehen
• Müllabfuhr
• Reinigung
• Versicherungen, Mehrfachangabe?
• Revisionen
• Tiefgarage
• Nebenkostenaufwand
• Individuelle Nebenkosten für einzelnen Mieter, Mehrfachangabe
Optional, weitere Nebenkosten hinzuzufügen:
• Rechnung einer Nebenkostenposition zuweisen
• Felder:
◦ Datum
◦ Rechnungsgrund
◦ Betrag
◦ Verteilerschlüssel
◦ x-Belege(PDF)
Die Preise pro Abrechnungsart(Anzahl, kW/h usw.) werden objektbezogen eingetragen.
Erstellung der Nebenkostenabrechnung für einen Mieter. Die Differenz der vereinbarten und tatsächlichen Nebenkosten muss ausgewiesen und in dem Datev-Export berücksichtigt werden.
Eigentümer eines Objektes oder Raumes:
• Name
• Anschrift
• Telefon
• E-Mail
Mieter:
• Name
• Anschrift
• Neue Anschrift nach Auszug, für Nebenkostenabrechnung nach Mietende nutzen
• Telefon
• E-Mail
• Zugangsdaten System
• Verträge
• Kaution? Alternativ → Zuordnung zu Raum
Mietverträge:
• Generierung gemäß Mustermietvertrag
• Mehrere Räume möglich
• Einzeldarstellung in der Rechnung, Ausgabe von x-
Rechnungen mit Endsumme
• Verlängerungsoption
• Verschiedene Typen: Auswirkungen auf Vertrag und MwSt.
◦ Gewerbe
◦ Wohnungen
◦ Parkplatz
• Vertrag als PDF
• Schlüssel / Drücker Liste, nachträglich editierbar
Raum
• Wartungsaufgaben für Mieter (Benachrichtigung, Protokollierung)
◦ Export als E-Mail(Liste mit Prüfdaten)
◦ Mieter muss Protokoll versenden/ hochladen, ansonsten wird der Raum entsprechend gekennzeichnet
• Sicherheitskontrollen (Benachrichtigung ?, Protokollierung)
• Übergabeprotokoll(Ein- Auszug), Generierung gemäß Muster
◦ Enthält zusätzlich neue Anschrift für Nebenkostenabrechnung
• Möglichkeit Daten als öffentlich zu deklarieren:
◦ Integration in Immobilienanbieter
◦ Schnittstelle Daten der Miete inklusive Nebenkosten in Datev Format Cullmann
• Historie:
◦ Mieter
◦ Ist- und Plan-Mieten
◦ mit diesem Raum verknüpfte Rechnungen
◦ Übergabeprotokolle
• Schlüssel / Drücker Liste, nachträglich editierbar
• Felder:
◦ Anschrift
◦ Anzahl Quadratmeter
◦ Eigentümer, kann sich im Objekt unterscheiden
◦ Bilddaten, protokolliert(Datum) zum Beispiel: Vor und Nach Einzug Auszug
◦ Falls vermietet:
▪ Mieter
▪ Mietvertrag
▪ Verlängerungsoption(ja / nein, wie lange)
◦ Indexbindung (ja / nein, %)
◦ Optionen Planung:
▪ Plan-Miete kalt pro Wohnung werden
▪ Plan-Miete kalt pro qm und Monat / Jahr
▪ Plan-Miete inklusive Indexbindung, wird bei Änderung des Index angepasst
▪ Geplante Nebenkosten
◦ Ist-Miete pro qm / JahrDebitoren Nummer für Datev
Anmerkungen Herr Rischmann vom 27.5.2018
modul 1
export der miete und Nebenkosten natürlich auch der Import
kalenderverwaltung da hätte ich gerne eine Schnittstelle zur zmp also wenn in Vermietung was angelegt wird dann sollte diese als auftrag in die zmp
seite 2
gelb reserviert zur post gegeben
wenn bsp wartung vom mieter nicht vorgelegt wird muss eine nachricht kommen und rotes ausrufszeichen im raum
Rechnung Unterteilung und ausweis der mwst muss möglich sein da verschiedene Mieter abzugsberechtigt sind
nebenkostenschlüssel
man muss mehrere verschiedne schlüssel für anzahl also anzahl a anzahl b anzahl c ..sowie bei den qm möglcih sein
da schlage ich vor dass man wenn man eine nebenkostenart einfügt in einer excelliste eintragen muss wer alles damit abgerechnet wird
so kann auch der Mieter prüfen wie die Verteilung ist
seite 3 Möglichkeit neue arten der Nebenkosten einzufügen
Kaution auf den Mieter
ich benötige das Programm jedoch anfang Dezember damit ich die nebenkostenabrechnung erstellen kann
Modul 2: Kunden-, Hausmeister-, Eigentümer-Login
Aufgrund der unter Umständen großen Datenmenge an Belegen soll für die Mieter eine Plattform geschaffen werden, die es ihnen ermöglicht Belege und Nebenkostenabrechnungen direkt im System zu betrachten und ggf. auszudrucken.
Ebenso soll ein Bereich für die Hausmeister und Verwalter eingerichtet werden, der einen schnellen und einfachen Zugriff auf die Preise, sowie allgemeine Informationen zu den einzelnen Räumen bietet.
Hierzu werden abgegrenzte Teilbereiche des Systems generiert.
Für die Hausmeister wäre dies die Objektübersicht ggf. mit eingeschränkter Anzeige. Für die Mieter würde die Raumübersicht entsprechend angepasst.
Modul 3: Öffentlicher Bereich für interessierte Kunden und / oder Schnittstelle zu Immobilienportalen
Zur einfacheren Vermarktung / Vermietung der Wohnungen werden die Möglichkeiten einer automatischen Integration in Immobilienportale sowie eine eigene Plattform für Vermietung in Erwägung gezogen. ImmobilienScout24 bietet eine solche Schnittstelle bereits an. API
Auswertungsmöglichkeiten
Objektübersicht
Zeile = Raum
Felder:
• qm
• Plan-Miete Kalt(inklusive Indexbindung)
• Ist-Miete
• Nebenkosten
• Status(frei, vermietet, im Umbau ...)
• Eigentümer
• Typ
• Mieter
• Vermietet bis
• Verlängerungsoption
• Indexbindung(%)
Summen:
• qm
• Plan-Miete
• Ist-Miete
• Nebenkosten
Gesamtübersicht(Übersicht Objekte)
Zeile = Objekt
Felder:
• qm Fläche für Verteilungsschlüssel
• qm vermietet
• qm frei
• qm Gesamt
• Plan-Miete kalt
• Ist-Miete
• Nebenkosten
• Nebenkosten Veränderung Vorjahr, Vor-Vorjahr
• Eigentümer
Summen:
• qm vermietet
• qm frei
• Plan-Miete
• Ist-Miete
• Nebenkosten
Schriftverkehr
Zeile = Dokument
Felder:
• Eingangsdatum
• Ausgangsdatum
• Download
• Schlüsselwörter
• Zuordnungen(Wohnung, Objekt, Mieter)
• Typ u.a. Übergabeprotokoll, Vertrag, Rechnung, Nebenkostenabrechnung ...
*
*TODO
*Account:
*+ Validieren der Accountnummern (unique?)
* Mv Tabelle:
*Bugs:
* MV
* --Dateien ohne Endung
* + Filter für indexierte MV
* + Option ziehen
* - Alle actions der Tabelle auch auf der Detailseite
* P + Details: Umsatzmiete, mietzins anpassen. Leerer Mietzins, hier müsste Mindestmiete angezeigt werden
* -- validiere Indexierung : Letzte indexanpassung nicht vor MV Beginn
* -- Wo finde ich die übergebenen Schlüssel?
* NOT Definition der nebenkosten Attribute bei MV Erstellung fehlen ( Nicht möglich da kein Tenancy_Tp gesetzt)
* NOT Editieren von aktiven Aufträgen ( Temporär entfernt da keine Funktion zum Erzeugen von Änderungsdokumenten existiert)
* ++ Service : am 1. des Monats werden MV Forderungen gebucht
* -- Download Infos für Hausmeister, mit Email Versand: Aktuell Anzeige Parkplätze
*+ Landlord Tenancies nicht in der Tabelle anzeigen
*+ TenantNumber generieren
*+ DebitorenNummern nachträglich generieren
*+ keys und handover STrings für alte MV in DB setzen
*tabelle: sortierung nach mietvertragsnummern anpassen /12 /2 /3 -> /2 /3 /12
*
*Nach MainMieter Änderung muss neuer Debitor generiert werden oder der alte übernommen (evtl. als Abfrage?)
*DetailSeite:
*Mieter:
*mv beendet sollte Adresse nach Auszug stehen, nicht Adresse vor Einzug
*E-Mail wird angezeigt, aber Button zum Mail versendet is disabled: Keine E-Mail hinterlegt
*Mietdauer:
*bei Vertragsende fehlt parseEndDate
*
*+ Parkplatzmietverträge sollen Übergabeprotokolle und Kaution überspringen???
*+ Übergabe /nahme Protokoll, bei Übernahmeprotokoll. Abfrage beim Hochladen des Übergabeprootkolls (Auszug) ob eine Kautionskürzung vorliegt -> update tenancy / passe Buchung entsprechend an
*
* Mandant:
*Eine Währung pro Objekt
*Nummernkreise: location tp nummer genau 2 ziffer validieren
*M ++ validierung konto: alle konten gesetzt vor save
*M beim erstellen alle selects aktualisieren, sodass man das neue konto auswählen kann
*
*p + csv import kontenliste
*
* Rechnung erstellen:
* + Bei Beträgen sollte, wenn möglich, Tausender Punkte angezeigt werden. Auch / besonders in den Edits ziemlich zeitaufwändig
* L Suche nach Name und Kreditorennummer bei den Rechnungen (Rechnungstabelle muss allgemein geändert werden), sollte jetzt vorhanden sein
* p + MwSt als Radiobuttons und verknüpft mit Konto
m + Prüfe auf doppelte Rechnungseingabe nutze: @GET invoiceDocuments/checkDuplicateExtCompInvNumber/{extCompId : \\d+}/{invNumber : \\s+}")
*
* Umsatz/Miete Netto
* m²
* m³
*-- Bei der NK Erstellung muss auf vorsteuer Rechnungen mit Umsatz geprüft werden, falls vorhanden -> Anzeige der betroffenen Räume -> Möglichkeit Umsatz zu hinterlegen -> Korrektur der alten Rechnungen vor Korrektur
*p Projekt hinzufügen, bei Konto "Aufwand Eigentümer" Pflichtfeld, sonst optional
*m Filter Projekt für Rechnungstabelle hinzufügen
*m Validierung für Kreditor + Rechnungsnummer hinzufügen, falls dieselbe Rechnung nochmal eingetragen wird Warnung anzeigen, Serv exisitiert Fix @GET checkDuplicateExtCompInvNumber/{extCompId : \\d+}/{invNumber : \\s+}
*Buchung:
*Empfangskonto -> Gegenkonto
*Kostenstelle entfernen
*Mietverträge, die nach Mietbeginn erst auf aktiv gesetzt werden müssen nachgebucht werden
*in der Buchungstabelle soll der laufende Monat und alte Buchung deutlich getrennt aufgeführt sein (alte oben, neue unten)
*sobald die Kaution eines Mietvertragsw freigegeben wird muss eine Buchung erstellt werden
*
*
*Tabellensummen, auch Seitenübergreifen
*
*Umbenennungen:
*Nebenkostengruppen -> Gruppen Verteilerschlüssel
*Kategorie-Gruppen -> Kostenobergruppen
*Kategorien -> Kostenuntergruppen
*
* SERVICE: Verteilung von überjährigen NK prüfen
*
* Mieter:
* NOT Mieter anlegen ohne Adresse nach Einzug nicht möglich
*
* External Company:
*Tabelle prüfen, Klick auf Spalten funzt nicht
*
* Zähler:
*- beim zähler anlgen auch räume auswählen (Standort und betreffende Räume)
*
* Zeichenoberfläche:
*-- Erstellung mv über Zeichenoberfläche möglich? Ausgewählte Räume weg nach Location Wechsel ( was wäre schöner?)
*++ deutlicher anzeigen unterschied zwischen zähler anlegen und zähler hinzufügen
*
*Dashboard:
*p Anzeige nicht übermittelter Debitoren / Buchungssätze
*-- Anzeige offener Rechnungen, EIn- und Ausgangsrechnungen
*nkCategory:
*+ Spalten mit Modal füllen
*Objekte-> Objekt anlegen -> nicht aktualisiert
NEUE TODO:-----------
Warnung bei verspäteter Zahlung von Ausgangsrechnungen, Feld (Anzahl Tage) in Mandant definieren
*+ Objekt-Konfiguration:
*Account Auswahl für :
*Mieterlöse ohne Steuer default_rent_no_tax_account int references account,
*mit Steuer default_rent_tax_account int references account,
*Nebenkostenerlöse ohne steuer default_nk_no_tax_account int references account,
*mit Steuer default_nk_tax_account int references account
*+ Umsatzerlöse Standardkonto (def_sales_account);
*
*+ Steuerkonten:
*Anlegen neuer Konten in ObjektKonfiguration:
*Zusatzfeld: Steuersatz vat : numeric,
*Stichtag Nebenkosten für Loc festlegen (def_nk_target_date)
*Bestimmung Absender E-Mail pro Location (def_email_sender)
*
DrawingPanel:
Edit Facility
+ ObjectConfig AGB/Nebenkosten/Bestimmungen nur auf Click laden.
Buchungen Liste:
ANzeige Rechnung oder Möglichkeit Statement anzuschauen, loadBooking()
update tenancy
set location_id = 473
where tenancy_id in (
select distinct(tenancy_id)
from tenancy_tp
where tp_id in
(
select room from tp_tree_view Where location = 473
)
)
Meeting 28.02.
*IE 11
*Sammelmail mit MV-Typ-Auswahl
*m MV versendet stamp auf detailseite
*info@netfutura mail aus db löschen !!! ALLE AUCH LOKAL !!! main_user serv, p, h, l, m
*per Mail senden auf Server Problem
*email status bei nicht versand weiterleiten an info@rischmann
*Text für E-Mails
*m Übergabeprotokoll erstellen, wenn keine Räume mit Handover
*m MV kündigen, Date eingeben, Modal schließt nicht
*Erinnerung für gekündigte MV auf Dashboard, Protokoll wieer versenden
*m Kaution regeln Modal, wenn extern false, booking modal
*Rechnung für KurzzeitMV
*teilweise lange Ladezeiten von Daten
*Suchfunktion für alle alle Dokumente
*individuelle Ausgangsrechnung, z.B. für Reparaturen
*m MV Filter für Umsatzsteuerpflichtig
*blanko Vorlagen MV Dokumente ausdrucken, "tenancy/blancoHandoverDocx", "tenancy/blancoDocx/{locationId: \\d+}"
*Rechnungsdatum ändern, Fälligkeitsdatum passt sich nicht an wird nur nicht überschrieben wenn vorher bereits gesetzt ist, trotzdem ändern?
*booking belegfeld übernehmen
*booking, transfer übertragen datei kein header
*lastschriftrechnungen, no transfer flag
*passwort eingabe vor überweisungen per ebics
*es gitb nicht zuordenbare buchungen, z.B. Zinsen, Bankgebühren, tmp buchung nur zeile in csv erstellen
*ohne beleg gebuchte überweisungen ausdrucken (datum, betrag, text) buchungssatz
*tests sobald ebics implementiert
*m mv neuer tenant bankverbindungsfelder fehlen
*auf die nk abrechnung wird die bankverbindung des tenants geschrieben, falls gutschrift
*mv in der vergangenheit checken, Frage ist ob wir mit aktuellen Daten auch vorherige MV eintragen können, beachte TenancyTp
*belegfeld null in csv
*booking und transfer modale in inv doc formular
*transferbooking bei bankimport erstellen
*shorttermtenancy
*m mwst konten
*buchung erstellen
*debitoren
*rechnung
*haken für bar
*barbelege hochladne
*ebics bankimport ab januar falls möglich
*manuelle bookings erstellen
*location_config erweitern um handoverFileLogId (blanko) und tenancyFileLogId (blanko)
*Mietvertrag versenden (erzeugen) Möbel stehen nicht im Mietvertragsdokument docX
*