├── images └── bill-schema.png ├── README.md ├── schema └── postgresql │ └── bill.schema.sql └── bill.architect /images/bill-schema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/norguhtar/cake-billing/HEAD/images/bill-schema.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # cake-billing 2 | 3 | This cake-billing is made available under Open Database License whose 4 | full text can be found at http://opendatacommons.org/licenses/odbl/. Any rights in 5 | individual contents of the database are licensed under the Database Contents 6 | License whose text can be found http://opendatacommons.org/licenses/dbcl/ 7 | 8 | 9 | Типовой конвергентный биллинг 10 | 11 | -------------------------------------------------------------------------------- /schema/postgresql/bill.schema.sql: -------------------------------------------------------------------------------- 1 | -- This cake-billing is made available under Open Database License whose 2 | -- full text can be found at http://opendatacommons.org/licenses/odbl/. Any rights in 3 | -- individual contents of the database are licensed under the Database Contents 4 | -- License whose text can be found http://opendatacommons.org/licenses/dbcl/ 5 | 6 | CREATE SCHEMA bill; 7 | 8 | CREATE TABLE bill.ledgertype ( 9 | sid VARCHAR NOT NULL, 10 | name VARCHAR NOT NULL, 11 | CONSTRAINT bill_ledgertype_pk PRIMARY KEY (sid) 12 | ); 13 | COMMENT ON TABLE bill.ledgertype IS 'Тип бухгалтерского счета'; 14 | 15 | 16 | CREATE SEQUENCE bill.vatrate_id_seq; 17 | 18 | CREATE TABLE bill.vatrate ( 19 | id BIGINT NOT NULL DEFAULT nextval('bill.vatrate_id_seq'), 20 | percent NUMERIC(10,2) NOT NULL, 21 | dtfrom DATE NOT NULL, 22 | dtto DATE, 23 | CONSTRAINT vatrate_pk PRIMARY KEY (id) 24 | ); 25 | COMMENT ON TABLE bill.vatrate IS 'Ставка налога на добавленную стоимость'; 26 | COMMENT ON COLUMN bill.vatrate.percent IS 'Ставка НДС в процентах'; 27 | COMMENT ON COLUMN bill.vatrate.dtfrom IS 'Начало действия ставки НДС'; 28 | COMMENT ON COLUMN bill.vatrate.dtto IS 'Дата завершения действия ставки НДС'; 29 | 30 | 31 | ALTER SEQUENCE bill.vatrate_id_seq OWNED BY bill.vatrate.id; 32 | 33 | CREATE SEQUENCE bill.paymenttype_id_seq; 34 | 35 | CREATE TABLE bill.paymenttype ( 36 | id BIGINT NOT NULL DEFAULT nextval('bill.paymenttype_id_seq'), 37 | name VARCHAR NOT NULL, 38 | CONSTRAINT paymenttype_pk PRIMARY KEY (id) 39 | ); 40 | COMMENT ON TABLE bill.paymenttype IS 'Типы платежей'; 41 | 42 | 43 | ALTER SEQUENCE bill.paymenttype_id_seq OWNED BY bill.paymenttype.id; 44 | 45 | CREATE SEQUENCE bill.unit_id_seq; 46 | 47 | CREATE TABLE bill.unit ( 48 | id BIGINT NOT NULL DEFAULT nextval('bill.unit_id_seq'), 49 | name VARCHAR NOT NULL, 50 | longname VARCHAR NOT NULL, 51 | basis BIGINT, 52 | id_parent BIGINT, 53 | CONSTRAINT unit_pk PRIMARY KEY (id) 54 | ); 55 | COMMENT ON TABLE bill.unit IS 'Единицы измерений'; 56 | 57 | 58 | ALTER SEQUENCE bill.unit_id_seq OWNED BY bill.unit.id; 59 | 60 | CREATE SEQUENCE bill.service_id_seq; 61 | 62 | CREATE TABLE bill.service ( 63 | id BIGINT NOT NULL DEFAULT nextval('bill.service_id_seq'), 64 | id_unit BIGINT NOT NULL, 65 | name VARCHAR NOT NULL, 66 | sid_external VARCHAR, 67 | note VARCHAR NOT NULL, 68 | CONSTRAINT service_pk PRIMARY KEY (id) 69 | ); 70 | COMMENT ON TABLE bill.service IS 'Услуги'; 71 | COMMENT ON COLUMN bill.service.sid_external IS 'Идентификатор для связи с внешними системами'; 72 | 73 | 74 | ALTER SEQUENCE bill.service_id_seq OWNED BY bill.service.id; 75 | 76 | CREATE SEQUENCE bill.price_id_seq; 77 | 78 | CREATE TABLE bill.price ( 79 | id BIGINT NOT NULL DEFAULT nextval('bill.price_id_seq'), 80 | id_service BIGINT NOT NULL, 81 | dtfrom DATE NOT NULL, 82 | dtto DATE, 83 | amount NUMERIC(10,2) NOT NULL, 84 | CONSTRAINT price_pk PRIMARY KEY (id) 85 | ); 86 | COMMENT ON TABLE bill.price IS 'Стоимость услуг'; 87 | 88 | 89 | ALTER SEQUENCE bill.price_id_seq OWNED BY bill.price.id; 90 | 91 | CREATE TABLE bill.trxtype ( 92 | sid VARCHAR NOT NULL, 93 | name VARCHAR NOT NULL, 94 | sid_ledgertype VARCHAR NOT NULL, 95 | optype VARCHAR NOT NULL, 96 | CONSTRAINT trxtype_pk PRIMARY KEY (sid) 97 | ); 98 | COMMENT ON TABLE bill.trxtype IS 'Тип проведенных операций'; 99 | COMMENT ON COLUMN bill.trxtype.optype IS 'Тип операции'; 100 | 101 | 102 | CREATE SEQUENCE bill.period_id_seq; 103 | 104 | CREATE TABLE bill.period ( 105 | id BIGINT NOT NULL DEFAULT nextval('bill.period_id_seq'), 106 | dtfrom DATE NOT NULL, 107 | dtto DATE NOT NULL, 108 | tsclose TIMESTAMP, 109 | closed BOOLEAN DEFAULT false NOT NULL, 110 | CONSTRAINT period_pk PRIMARY KEY (id) 111 | ); 112 | COMMENT ON TABLE bill.period IS 'Бухгалтерские (отчетные) периоды'; 113 | 114 | 115 | ALTER SEQUENCE bill.period_id_seq OWNED BY bill.period.id; 116 | 117 | CREATE SEQUENCE bill.contract_id_seq; 118 | 119 | CREATE TABLE bill.contract ( 120 | id BIGINT NOT NULL DEFAULT nextval('bill.contract_id_seq'), 121 | number BIGINT NOT NULL, 122 | balance NUMERIC(18,4) NOT NULL, 123 | dtfrom DATE NOT NULL, 124 | dtto DATE, 125 | note VARCHAR, 126 | CONSTRAINT contract_pk PRIMARY KEY (id) 127 | ); 128 | COMMENT ON TABLE bill.contract IS 'Договора с клиентами'; 129 | COMMENT ON COLUMN bill.contract.dtfrom IS 'Дата начала действия договора'; 130 | COMMENT ON COLUMN bill.contract.dtto IS 'Дата завершения действия договора. Если не заполнена, договор с прологнацией'; 131 | 132 | 133 | ALTER SEQUENCE bill.contract_id_seq OWNED BY bill.contract.id; 134 | 135 | CREATE SEQUENCE bill.saldo_id_seq; 136 | 137 | CREATE TABLE bill.saldo ( 138 | id BIGINT NOT NULL DEFAULT nextval('bill.saldo_id_seq'), 139 | id_contract BIGINT NOT NULL, 140 | id_period BIGINT NOT NULL, 141 | openingbalance NUMERIC(18,4) NOT NULL, 142 | debet NUMERIC(18,4) NOT NULL, 143 | credit NUMERIC(18,4) NOT NULL, 144 | closingbalance NUMERIC(18,4) NOT NULL, 145 | CONSTRAINT saldo_pk PRIMARY KEY (id) 146 | ); 147 | COMMENT ON TABLE bill.saldo IS 'Обороты (сальдо) за период'; 148 | COMMENT ON COLUMN bill.saldo.openingbalance IS 'Баланс на начало периода'; 149 | COMMENT ON COLUMN bill.saldo.debet IS 'Дебетовое сальдо за период'; 150 | COMMENT ON COLUMN bill.saldo.credit IS 'Кредитовое сальдо за период'; 151 | COMMENT ON COLUMN bill.saldo.closingbalance IS 'Баланс на конец периода'; 152 | 153 | 154 | ALTER SEQUENCE bill.saldo_id_seq OWNED BY bill.saldo.id; 155 | 156 | CREATE SEQUENCE bill.invoice_id_seq; 157 | 158 | CREATE TABLE bill.invoice ( 159 | id BIGINT NOT NULL DEFAULT nextval('bill.invoice_id_seq'), 160 | id_contract BIGINT NOT NULL, 161 | id_period BIGINT NOT NULL, 162 | dt DATE NOT NULL, 163 | dtcreate DATE NOT NULL, 164 | payed BOOLEAN DEFAULT false NOT NULL, 165 | CONSTRAINT invoice_pk PRIMARY KEY (id) 166 | ); 167 | COMMENT ON TABLE bill.invoice IS 'Документы к оплате'; 168 | 169 | 170 | ALTER SEQUENCE bill.invoice_id_seq OWNED BY bill.invoice.id; 171 | 172 | CREATE SEQUENCE bill.trx_id_seq; 173 | 174 | CREATE TABLE bill.trx ( 175 | id BIGINT NOT NULL DEFAULT nextval('bill.trx_id_seq'), 176 | sid_ledgertype VARCHAR NOT NULL, 177 | sid_trxtype VARCHAR NOT NULL, 178 | id_period BIGINT NOT NULL, 179 | id_contract BIGINT NOT NULL, 180 | ts TIMESTAMP DEFAULT now() NOT NULL, 181 | tscreate TIMESTAMP DEFAULT now() NOT NULL, 182 | amount NUMERIC(18,2) NOT NULL, 183 | count DOUBLE PRECISION DEFAULT 1, 184 | CONSTRAINT trx_pk PRIMARY KEY (id) 185 | ); 186 | COMMENT ON TABLE bill.trx IS 'Проводки'; 187 | COMMENT ON COLUMN bill.trx.ts IS 'Дата и время проводки'; 188 | 189 | 190 | ALTER SEQUENCE bill.trx_id_seq OWNED BY bill.trx.id; 191 | 192 | CREATE SEQUENCE bill.balance_id_seq; 193 | 194 | CREATE TABLE bill.balance ( 195 | id BIGINT NOT NULL DEFAULT nextval('bill.balance_id_seq'), 196 | id_contract BIGINT NOT NULL, 197 | id_trx BIGINT NOT NULL, 198 | tsfrom TIMESTAMP NOT NULL, 199 | tsto TIMESTAMP NOT NULL, 200 | balance NUMERIC(18,4) NOT NULL, 201 | CONSTRAINT balance_pk PRIMARY KEY (id) 202 | ); 203 | COMMENT ON TABLE bill.balance IS 'История изменения баланса'; 204 | 205 | 206 | ALTER SEQUENCE bill.balance_id_seq OWNED BY bill.balance.id; 207 | 208 | CREATE SEQUENCE bill.invoice_cover_trx_id_seq; 209 | 210 | CREATE TABLE bill.invoice_cover_trx ( 211 | id BIGINT NOT NULL DEFAULT nextval('bill.invoice_cover_trx_id_seq'), 212 | id_trx BIGINT NOT NULL, 213 | id_invoice BIGINT NOT NULL, 214 | amount NUMERIC(18,4) NOT NULL, 215 | CONSTRAINT invoce_cover_pk PRIMARY KEY (id) 216 | ); 217 | COMMENT ON TABLE bill.invoice_cover_trx IS 'Покрытие счетов платежами'; 218 | 219 | 220 | ALTER SEQUENCE bill.invoice_cover_trx_id_seq OWNED BY bill.invoice_cover_trx.id; 221 | 222 | CREATE SEQUENCE bill.invoice_trx_id_seq; 223 | 224 | CREATE TABLE bill.invoice_trx ( 225 | id BIGINT NOT NULL DEFAULT nextval('bill.invoice_trx_id_seq'), 226 | id_trx BIGINT NOT NULL, 227 | id_invoice BIGINT NOT NULL, 228 | CONSTRAINT invoice_trx_pk PRIMARY KEY (id) 229 | ); 230 | COMMENT ON TABLE bill.invoice_trx IS 'Начисления включенные в счет'; 231 | 232 | 233 | ALTER SEQUENCE bill.invoice_trx_id_seq OWNED BY bill.invoice_trx.id; 234 | 235 | CREATE SEQUENCE bill.transfer_id_seq; 236 | 237 | CREATE TABLE bill.transfer ( 238 | id BIGINT NOT NULL DEFAULT nextval('bill.transfer_id_seq'), 239 | id_period BIGINT NOT NULL, 240 | id_contract_from BIGINT NOT NULL, 241 | id_contract_to BIGINT NOT NULL, 242 | id_trx_from BIGINT NOT NULL, 243 | id_trx_to BIGINT NOT NULL, 244 | id_revoke BIGINT NOT NULL, 245 | id_revokedby BIGINT NOT NULL, 246 | ts TIMESTAMP NOT NULL, 247 | tscreate TIMESTAMP NOT NULL, 248 | amount NUMERIC(18,4) NOT NULL, 249 | note VARCHAR NOT NULL, 250 | CONSTRAINT transfer_pk PRIMARY KEY (id) 251 | ); 252 | COMMENT ON TABLE bill.transfer IS 'Переносы денежных средств'; 253 | 254 | 255 | ALTER SEQUENCE bill.transfer_id_seq OWNED BY bill.transfer.id; 256 | 257 | CREATE SEQUENCE bill.remain_id_seq; 258 | 259 | CREATE TABLE bill.remain ( 260 | id BIGINT NOT NULL DEFAULT nextval('bill.remain_id_seq'), 261 | sid_ledgertype VARCHAR NOT NULL, 262 | id_contract BIGINT NOT NULL, 263 | id_period BIGINT NOT NULL, 264 | id_trx BIGINT NOT NULL, 265 | id_revoke BIGINT, 266 | id_revokedby BIGINT, 267 | ts TIMESTAMP NOT NULL, 268 | tscreate TIMESTAMP NOT NULL, 269 | remain NUMERIC(18,4) NOT NULL, 270 | note VARCHAR, 271 | CONSTRAINT remain_pk PRIMARY KEY (id) 272 | ); 273 | COMMENT ON TABLE bill.remain IS 'Корректировки и остатки балансов возникающие при миграции'; 274 | 275 | 276 | ALTER SEQUENCE bill.remain_id_seq OWNED BY bill.remain.id; 277 | 278 | CREATE SEQUENCE bill.charge_id_seq; 279 | 280 | CREATE TABLE bill.charge ( 281 | id BIGINT NOT NULL DEFAULT nextval('bill.charge_id_seq'), 282 | id_unit BIGINT NOT NULL, 283 | id_contract BIGINT NOT NULL, 284 | id_trx BIGINT NOT NULL, 285 | id_period BIGINT NOT NULL, 286 | id_service BIGINT NOT NULL, 287 | id_revoke BIGINT, 288 | id_revokedby BIGINT NOT NULL, 289 | vatincluded BOOLEAN DEFAULT FALSE, 290 | ts TIMESTAMP NOT NULL, 291 | tscreate TIMESTAMP NOT NULL, 292 | amount NUMERIC(18,4) NOT NULL, 293 | count DOUBLE PRECISION NOT NULL, 294 | note VARCHAR NOT NULL, 295 | CONSTRAINT charge_pk PRIMARY KEY (id) 296 | ); 297 | COMMENT ON TABLE bill.charge IS 'Начисления'; 298 | COMMENT ON COLUMN bill.charge.vatincluded IS 'Начисление включает НДС'; 299 | 300 | 301 | ALTER SEQUENCE bill.charge_id_seq OWNED BY bill.charge.id; 302 | 303 | 304 | CREATE SEQUENCE bill.vat_id_seq; 305 | 306 | CREATE TABLE bill.vat ( 307 | id BIGINT NOT NULL DEFAULT nextval('bill.vat_id_seq'), 308 | id_vatrate BIGINT NOT NULL, 309 | id_charge BIGINT NOT NULL, 310 | id_trx BIGINT NOT NULL, 311 | id_period BIGINT NOT NULL, 312 | id_revoke BIGINT NOT NULL, 313 | id_revokedby BIGINT NOT NULL, 314 | ts TIMESTAMP DEFAULT now() NOT NULL, 315 | tscreate TIMESTAMP DEFAULT now() NOT NULL, 316 | amount NUMERIC(18,4) NOT NULL, 317 | CONSTRAINT vat_pk PRIMARY KEY (id) 318 | ); 319 | COMMENT ON TABLE bill.vat IS 'Документы НДС'; 320 | 321 | 322 | ALTER SEQUENCE bill.vat_id_seq OWNED BY bill.vat.id; 323 | 324 | CREATE SEQUENCE bill.discount_id_seq; 325 | 326 | CREATE TABLE bill.discount ( 327 | id BIGINT NOT NULL DEFAULT nextval('bill.discount_id_seq'), 328 | id_contract BIGINT NOT NULL, 329 | id_period BIGINT NOT NULL, 330 | id_charge BIGINT NOT NULL, 331 | id_trx BIGINT NOT NULL, 332 | id_revoke BIGINT, 333 | id_revokedby BIGINT NOT NULL, 334 | ts TIMESTAMP NOT NULL, 335 | tscreate TIMESTAMP NOT NULL, 336 | amount NUMERIC(18,4) NOT NULL, 337 | CONSTRAINT discount_pk PRIMARY KEY (id) 338 | ); 339 | COMMENT ON TABLE bill.discount IS 'Скидки'; 340 | 341 | 342 | ALTER SEQUENCE bill.discount_id_seq OWNED BY bill.discount.id; 343 | 344 | CREATE SEQUENCE bill.payment_id_seq; 345 | 346 | CREATE TABLE bill.payment ( 347 | id BIGINT NOT NULL DEFAULT nextval('bill.payment_id_seq'), 348 | sid_external VARCHAR, 349 | id_contract BIGINT NOT NULL, 350 | id_paymenttype BIGINT NOT NULL, 351 | id_period BIGINT NOT NULL, 352 | id_trx BIGINT NOT NULL, 353 | id_revoke BIGINT, 354 | id_revokedby BIGINT, 355 | ts TIMESTAMP NOT NULL, 356 | tscreate TIMESTAMP NOT NULL, 357 | tsagent TIMESTAMP, 358 | amount NUMERIC(18,4) NOT NULL, 359 | note VARCHAR NOT NULL, 360 | CONSTRAINT payment_pk PRIMARY KEY (id) 361 | ); 362 | COMMENT ON TABLE bill.payment IS 'Платежи'; 363 | COMMENT ON COLUMN bill.payment.sid_external IS 'идентификатор во внешних системах'; 364 | 365 | 366 | ALTER SEQUENCE bill.payment_id_seq OWNED BY bill.payment.id; 367 | 368 | 369 | ALTER TABLE bill.trxtype ADD CONSTRAINT ledgertype_trxtype_fk 370 | FOREIGN KEY (sid_ledgertype) 371 | REFERENCES bill.ledgertype (sid) 372 | ON DELETE NO ACTION 373 | ON UPDATE NO ACTION 374 | NOT DEFERRABLE; 375 | 376 | ALTER TABLE bill.trx ADD CONSTRAINT ledgertype_trx_fk 377 | FOREIGN KEY (sid_ledgertype) 378 | REFERENCES bill.ledgertype (sid) 379 | ON DELETE NO ACTION 380 | ON UPDATE NO ACTION 381 | NOT DEFERRABLE; 382 | 383 | ALTER TABLE bill.remain ADD CONSTRAINT ledgertype_remain_fk 384 | FOREIGN KEY (sid_ledgertype) 385 | REFERENCES bill.ledgertype (sid) 386 | ON DELETE NO ACTION 387 | ON UPDATE NO ACTION 388 | NOT DEFERRABLE; 389 | 390 | ALTER TABLE bill.vat ADD CONSTRAINT vatrate_vat_fk 391 | FOREIGN KEY (id_vatrate) 392 | REFERENCES bill.vatrate (id) 393 | ON DELETE NO ACTION 394 | ON UPDATE NO ACTION 395 | NOT DEFERRABLE; 396 | 397 | ALTER TABLE bill.payment ADD CONSTRAINT paymenttype_payment_fk 398 | FOREIGN KEY (id_paymenttype) 399 | REFERENCES bill.paymenttype (id) 400 | ON DELETE NO ACTION 401 | ON UPDATE NO ACTION 402 | NOT DEFERRABLE; 403 | 404 | ALTER TABLE bill.unit ADD CONSTRAINT parent_unit_fk 405 | FOREIGN KEY (id_parent) 406 | REFERENCES bill.unit (id) 407 | ON DELETE NO ACTION 408 | ON UPDATE NO ACTION 409 | NOT DEFERRABLE; 410 | 411 | ALTER TABLE bill.service ADD CONSTRAINT unit_service_fk 412 | FOREIGN KEY (id_unit) 413 | REFERENCES bill.unit (id) 414 | ON DELETE NO ACTION 415 | ON UPDATE NO ACTION 416 | NOT DEFERRABLE; 417 | 418 | ALTER TABLE bill.charge ADD CONSTRAINT unit_charge_fk 419 | FOREIGN KEY (id_unit) 420 | REFERENCES bill.unit (id) 421 | ON DELETE NO ACTION 422 | ON UPDATE NO ACTION 423 | NOT DEFERRABLE; 424 | 425 | ALTER TABLE bill.charge ADD CONSTRAINT service_charge_fk 426 | FOREIGN KEY (id_service) 427 | REFERENCES bill.service (id) 428 | ON DELETE NO ACTION 429 | ON UPDATE NO ACTION 430 | NOT DEFERRABLE; 431 | 432 | ALTER TABLE bill.price ADD CONSTRAINT service_price_fk 433 | FOREIGN KEY (id_service) 434 | REFERENCES bill.service (id) 435 | ON DELETE NO ACTION 436 | ON UPDATE NO ACTION 437 | NOT DEFERRABLE; 438 | 439 | ALTER TABLE bill.trx ADD CONSTRAINT trxtype_trx_fk 440 | FOREIGN KEY (sid_trxtype) 441 | REFERENCES bill.trxtype (sid) 442 | ON DELETE NO ACTION 443 | ON UPDATE NO ACTION 444 | NOT DEFERRABLE; 445 | 446 | ALTER TABLE bill.trx ADD CONSTRAINT period_trx_fk 447 | FOREIGN KEY (id_period) 448 | REFERENCES bill.period (id) 449 | ON DELETE NO ACTION 450 | ON UPDATE NO ACTION 451 | NOT DEFERRABLE; 452 | 453 | ALTER TABLE bill.payment ADD CONSTRAINT period_payment_fk 454 | FOREIGN KEY (id_period) 455 | REFERENCES bill.period (id) 456 | ON DELETE NO ACTION 457 | ON UPDATE NO ACTION 458 | NOT DEFERRABLE; 459 | 460 | ALTER TABLE bill.charge ADD CONSTRAINT period_charge_fk 461 | FOREIGN KEY (id_period) 462 | REFERENCES bill.period (id) 463 | ON DELETE NO ACTION 464 | ON UPDATE NO ACTION 465 | NOT DEFERRABLE; 466 | 467 | ALTER TABLE bill.remain ADD CONSTRAINT period_remain_fk 468 | FOREIGN KEY (id_period) 469 | REFERENCES bill.period (id) 470 | ON DELETE NO ACTION 471 | ON UPDATE NO ACTION 472 | NOT DEFERRABLE; 473 | 474 | ALTER TABLE bill.discount ADD CONSTRAINT period_discount_fk 475 | FOREIGN KEY (id_period) 476 | REFERENCES bill.period (id) 477 | ON DELETE NO ACTION 478 | ON UPDATE NO ACTION 479 | NOT DEFERRABLE; 480 | 481 | ALTER TABLE bill.transfer ADD CONSTRAINT period_transfer_fk 482 | FOREIGN KEY (id_period) 483 | REFERENCES bill.period (id) 484 | ON DELETE NO ACTION 485 | ON UPDATE NO ACTION 486 | NOT DEFERRABLE; 487 | 488 | ALTER TABLE bill.invoice ADD CONSTRAINT period_invoice_fk 489 | FOREIGN KEY (id_period) 490 | REFERENCES bill.period (id) 491 | ON DELETE NO ACTION 492 | ON UPDATE NO ACTION 493 | NOT DEFERRABLE; 494 | 495 | ALTER TABLE bill.vat ADD CONSTRAINT period_vat_fk 496 | FOREIGN KEY (id_period) 497 | REFERENCES bill.period (id) 498 | ON DELETE NO ACTION 499 | ON UPDATE NO ACTION 500 | NOT DEFERRABLE; 501 | 502 | ALTER TABLE bill.saldo ADD CONSTRAINT period_saldo_fk 503 | FOREIGN KEY (id_period) 504 | REFERENCES bill.period (id) 505 | ON DELETE NO ACTION 506 | ON UPDATE NO ACTION 507 | NOT DEFERRABLE; 508 | 509 | ALTER TABLE bill.trx ADD CONSTRAINT contract_trx_fk 510 | FOREIGN KEY (id_contract) 511 | REFERENCES bill.contract (id) 512 | ON DELETE NO ACTION 513 | ON UPDATE NO ACTION 514 | NOT DEFERRABLE; 515 | 516 | ALTER TABLE bill.payment ADD CONSTRAINT contract_payment_fk 517 | FOREIGN KEY (id_contract) 518 | REFERENCES bill.contract (id) 519 | ON DELETE NO ACTION 520 | ON UPDATE NO ACTION 521 | NOT DEFERRABLE; 522 | 523 | ALTER TABLE bill.charge ADD CONSTRAINT contract_charge_fk 524 | FOREIGN KEY (id_contract) 525 | REFERENCES bill.contract (id) 526 | ON DELETE NO ACTION 527 | ON UPDATE NO ACTION 528 | NOT DEFERRABLE; 529 | 530 | ALTER TABLE bill.remain ADD CONSTRAINT contract_remain_fk 531 | FOREIGN KEY (id_contract) 532 | REFERENCES bill.contract (id) 533 | ON DELETE NO ACTION 534 | ON UPDATE NO ACTION 535 | NOT DEFERRABLE; 536 | 537 | ALTER TABLE bill.discount ADD CONSTRAINT contract_discount_fk 538 | FOREIGN KEY (id_contract) 539 | REFERENCES bill.contract (id) 540 | ON DELETE NO ACTION 541 | ON UPDATE NO ACTION 542 | NOT DEFERRABLE; 543 | 544 | ALTER TABLE bill.transfer ADD CONSTRAINT contract_from_transfer_fk 545 | FOREIGN KEY (id_contract_from) 546 | REFERENCES bill.contract (id) 547 | ON DELETE NO ACTION 548 | ON UPDATE NO ACTION 549 | NOT DEFERRABLE; 550 | 551 | ALTER TABLE bill.transfer ADD CONSTRAINT contract_to_transfer_fk 552 | FOREIGN KEY (id_contract_to) 553 | REFERENCES bill.contract (id) 554 | ON DELETE NO ACTION 555 | ON UPDATE NO ACTION 556 | NOT DEFERRABLE; 557 | 558 | ALTER TABLE bill.balance ADD CONSTRAINT contract_balance_fk 559 | FOREIGN KEY (id_contract) 560 | REFERENCES bill.contract (id) 561 | ON DELETE NO ACTION 562 | ON UPDATE NO ACTION 563 | NOT DEFERRABLE; 564 | 565 | ALTER TABLE bill.invoice ADD CONSTRAINT contract_invoice_fk 566 | FOREIGN KEY (id_contract) 567 | REFERENCES bill.contract (id) 568 | ON DELETE NO ACTION 569 | ON UPDATE NO ACTION 570 | NOT DEFERRABLE; 571 | 572 | ALTER TABLE bill.saldo ADD CONSTRAINT contract_saldo_fk 573 | FOREIGN KEY (id_contract) 574 | REFERENCES bill.contract (id) 575 | ON DELETE NO ACTION 576 | ON UPDATE NO ACTION 577 | NOT DEFERRABLE; 578 | 579 | ALTER TABLE bill.invoice_trx ADD CONSTRAINT invoice_invoice_trx_fk 580 | FOREIGN KEY (id_invoice) 581 | REFERENCES bill.invoice (id) 582 | ON DELETE NO ACTION 583 | ON UPDATE NO ACTION 584 | NOT DEFERRABLE; 585 | 586 | ALTER TABLE bill.invoice_cover_trx ADD CONSTRAINT invoice_invoice_cover_trx_fk 587 | FOREIGN KEY (id_invoice) 588 | REFERENCES bill.invoice (id) 589 | ON DELETE NO ACTION 590 | ON UPDATE NO ACTION 591 | NOT DEFERRABLE; 592 | 593 | ALTER TABLE bill.payment ADD CONSTRAINT trx_payment_fk 594 | FOREIGN KEY (id_trx) 595 | REFERENCES bill.trx (id) 596 | ON DELETE NO ACTION 597 | ON UPDATE NO ACTION 598 | NOT DEFERRABLE; 599 | 600 | ALTER TABLE bill.charge ADD CONSTRAINT trx_charge_fk 601 | FOREIGN KEY (id_trx) 602 | REFERENCES bill.trx (id) 603 | ON DELETE NO ACTION 604 | ON UPDATE NO ACTION 605 | NOT DEFERRABLE; 606 | 607 | ALTER TABLE bill.remain ADD CONSTRAINT trx_remain_fk 608 | FOREIGN KEY (id_trx) 609 | REFERENCES bill.trx (id) 610 | ON DELETE NO ACTION 611 | ON UPDATE NO ACTION 612 | NOT DEFERRABLE; 613 | 614 | ALTER TABLE bill.discount ADD CONSTRAINT trx_discount_fk 615 | FOREIGN KEY (id_trx) 616 | REFERENCES bill.trx (id) 617 | ON DELETE NO ACTION 618 | ON UPDATE NO ACTION 619 | NOT DEFERRABLE; 620 | 621 | ALTER TABLE bill.transfer ADD CONSTRAINT trx_to_transfer_fk 622 | FOREIGN KEY (id_trx_to) 623 | REFERENCES bill.trx (id) 624 | ON DELETE NO ACTION 625 | ON UPDATE NO ACTION 626 | NOT DEFERRABLE; 627 | 628 | ALTER TABLE bill.transfer ADD CONSTRAINT trx_from_transfer_fk 629 | FOREIGN KEY (id_trx_from) 630 | REFERENCES bill.trx (id) 631 | ON DELETE NO ACTION 632 | ON UPDATE NO ACTION 633 | NOT DEFERRABLE; 634 | 635 | ALTER TABLE bill.invoice_trx ADD CONSTRAINT trx_invoice_trx_fk 636 | FOREIGN KEY (id_trx) 637 | REFERENCES bill.trx (id) 638 | ON DELETE NO ACTION 639 | ON UPDATE NO ACTION 640 | NOT DEFERRABLE; 641 | 642 | ALTER TABLE bill.invoice_cover_trx ADD CONSTRAINT trx_invoice_cover_trx_fk 643 | FOREIGN KEY (id_trx) 644 | REFERENCES bill.trx (id) 645 | ON DELETE NO ACTION 646 | ON UPDATE NO ACTION 647 | NOT DEFERRABLE; 648 | 649 | ALTER TABLE bill.balance ADD CONSTRAINT trx_balance_fk 650 | FOREIGN KEY (id_trx) 651 | REFERENCES bill.trx (id) 652 | ON DELETE NO ACTION 653 | ON UPDATE NO ACTION 654 | NOT DEFERRABLE; 655 | 656 | ALTER TABLE bill.vat ADD CONSTRAINT trx_vat_fk 657 | FOREIGN KEY (id_trx) 658 | REFERENCES bill.trx (id) 659 | ON DELETE NO ACTION 660 | ON UPDATE NO ACTION 661 | NOT DEFERRABLE; 662 | 663 | ALTER TABLE bill.transfer ADD CONSTRAINT revokedby_transfer_fk 664 | FOREIGN KEY (id_revokedby) 665 | REFERENCES bill.transfer (id) 666 | ON DELETE NO ACTION 667 | ON UPDATE NO ACTION 668 | NOT DEFERRABLE; 669 | 670 | ALTER TABLE bill.transfer ADD CONSTRAINT revoke_transfer_fk 671 | FOREIGN KEY (id_revoke) 672 | REFERENCES bill.transfer (id) 673 | ON DELETE NO ACTION 674 | ON UPDATE NO ACTION 675 | NOT DEFERRABLE; 676 | 677 | ALTER TABLE bill.remain ADD CONSTRAINT revoke_remain_fk 678 | FOREIGN KEY (id_revoke) 679 | REFERENCES bill.remain (id) 680 | ON DELETE NO ACTION 681 | ON UPDATE NO ACTION 682 | NOT DEFERRABLE; 683 | 684 | ALTER TABLE bill.remain ADD CONSTRAINT revokedby_remain_fk 685 | FOREIGN KEY (id_revokedby) 686 | REFERENCES bill.remain (id) 687 | ON DELETE NO ACTION 688 | ON UPDATE NO ACTION 689 | NOT DEFERRABLE; 690 | 691 | ALTER TABLE bill.charge ADD CONSTRAINT revoke_charge_fk 692 | FOREIGN KEY (id_revoke) 693 | REFERENCES bill.charge (id) 694 | ON DELETE NO ACTION 695 | ON UPDATE NO ACTION 696 | NOT DEFERRABLE; 697 | 698 | ALTER TABLE bill.charge ADD CONSTRAINT revockedby_charge_fk 699 | FOREIGN KEY (id_revokedby) 700 | REFERENCES bill.charge (id) 701 | ON DELETE NO ACTION 702 | ON UPDATE NO ACTION 703 | NOT DEFERRABLE; 704 | 705 | ALTER TABLE bill.discount ADD CONSTRAINT charge_discount_fk 706 | FOREIGN KEY (id_charge) 707 | REFERENCES bill.charge (id) 708 | ON DELETE NO ACTION 709 | ON UPDATE NO ACTION 710 | NOT DEFERRABLE; 711 | 712 | ALTER TABLE bill.vat ADD CONSTRAINT charge_vat_fk 713 | FOREIGN KEY (id_charge) 714 | REFERENCES bill.charge (id) 715 | ON DELETE NO ACTION 716 | ON UPDATE NO ACTION 717 | NOT DEFERRABLE; 718 | 719 | ALTER TABLE bill.vat ADD CONSTRAINT vat_revokedby_vat_fk 720 | FOREIGN KEY (id_revokedby) 721 | REFERENCES bill.vat (id) 722 | ON DELETE NO ACTION 723 | ON UPDATE NO ACTION 724 | NOT DEFERRABLE; 725 | 726 | ALTER TABLE bill.vat ADD CONSTRAINT vat_revoke_vat_fk 727 | FOREIGN KEY (id_revoke) 728 | REFERENCES bill.vat (id) 729 | ON DELETE NO ACTION 730 | ON UPDATE NO ACTION 731 | NOT DEFERRABLE; 732 | 733 | ALTER TABLE bill.discount ADD CONSTRAINT revokedby_discount_fk 734 | FOREIGN KEY (id_revokedby) 735 | REFERENCES bill.discount (id) 736 | ON DELETE NO ACTION 737 | ON UPDATE NO ACTION 738 | NOT DEFERRABLE; 739 | 740 | ALTER TABLE bill.discount ADD CONSTRAINT revoke_discount_fk 741 | FOREIGN KEY (id_revoke) 742 | REFERENCES bill.discount (id) 743 | ON DELETE NO ACTION 744 | ON UPDATE NO ACTION 745 | NOT DEFERRABLE; 746 | 747 | ALTER TABLE bill.payment ADD CONSTRAINT revoke_payment_fk 748 | FOREIGN KEY (id_revoke) 749 | REFERENCES bill.payment (id) 750 | ON DELETE NO ACTION 751 | ON UPDATE NO ACTION 752 | NOT DEFERRABLE; 753 | 754 | ALTER TABLE bill.payment ADD CONSTRAINT revokedby_payment_fk 755 | FOREIGN KEY (id_revokedby) 756 | REFERENCES bill.payment (id) 757 | ON DELETE NO ACTION 758 | ON UPDATE NO ACTION 759 | NOT DEFERRABLE; 760 | -------------------------------------------------------------------------------- /bill.architect: -------------------------------------------------------------------------------- 1 | 2 | 3 | bill-oss-v2 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Договора с клиентами 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Дата начала действия договора 27 | 28 | 29 | Дата завершения действия договора. Если не заполнена, договор не имеет даты окончания 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
45 | 46 | Бухгалтерские (отчетные) периоды 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 |
74 | 75 | Проводки 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | Дата и время операции 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 |
115 | 116 | Тип проведенных операций 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | Тип операции 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 |
141 | 142 | Первичные документы - Платежи 143 | 144 | 145 | 146 | 147 | 148 | идентификатор во внешних системах 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 |
194 | 195 | Первичные документы - Начисления 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | НДС включен в начисление 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 |
250 | 251 | Услуги 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | Идентификатор для связи с внешними системами 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 |
279 | 280 | Единицы измерений 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 |
308 | 309 | Первичные документы - Переносы денежных средств 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 |
358 | 359 | Первичные документы - Остатки при миграции 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 |
405 | 406 | Скидки 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 |
449 | 450 | Типы платежей 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 |
469 | 470 | Документы к оплате 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 |
501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 |
524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 |
550 | 551 | История изменения баланса 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 |
582 | 583 | Стоимость услуг 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 |
611 | 612 | Ставка налога на добавленную стоимость 613 | 614 | 615 | 616 | 617 | 618 | Ставка НДС в процентах 619 | 620 | 621 | Начало действия ставки НДС 622 | 623 | 624 | Дата завершения действия ставки НДС 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 |
637 | 638 | Первичные документы - НДС 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 |
681 | 682 | Тип бухгалтерского счета 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 |
701 | 702 | Обороты (сальдо) за период 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | Баланс на начало периода 715 | 716 | 717 | Дебетовое сальдо за период 718 | 719 | 720 | Кредитовое сальдо за период 721 | 722 | 723 | Баланс на конец периода 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 |
736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | 815 | 816 | 817 | 818 | 819 | 820 | 821 | 822 | 823 | 824 | 825 | 826 | 827 | 828 | 829 | 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 | 838 | 839 | 840 | 841 | 842 | 843 | 844 | 845 | 846 | 847 | 848 | 849 | 850 | 851 | 852 | 853 | 854 | 855 | 856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 | 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | 899 | 900 | 901 | 902 | 903 | 904 | 905 | 906 |
907 | 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 930 | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 | 958 | 959 | 960 | 961 | 962 | 963 | 964 | 965 | 966 | 967 | 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | 976 | 977 | 978 | 979 | 980 | 981 | 982 | 983 | 984 | 985 | 986 | 987 | 988 | 989 | 990 | 991 | 992 | 993 | 994 | 995 | 996 | 997 | 998 | 999 | 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | 1011 | 1012 | 1013 | 1014 | 1015 | 1016 | 1017 | 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 1034 | 1035 | 1036 | 1037 | 1038 | 1039 |
1040 | --------------------------------------------------------------------------------