Billing data model

erd

Imported straight from schema.prisma — five models and an enum, on their own database

account · accountId → id · many ↔ oneinvoice · invoiceId → id · many ↔ one · on delete cascadeinvoice · invoiceId → id · many ↔ oneaccount · accountId → id · many ↔ oneaccountsaccountsid · String · primary key · default uuid(PKidStringmerchantId · String · column merchant_idUQmerchantIdStringname · StringnameStringcurrency · StringcurrencyStringtermsDays · Int · default 30 · column terms_daystermsDaysIntcreatedAt · DateTime · default now( · column created_atcreatedAtDateTimeinvoicesinvoicesid · String · primary key · default uuid(PKidStringaccountId · String · → account.id · column account_idFKaccountIdStringnumber · StringUQnumberStringstatus · InvoiceStatus · default draftstatusInvoiceStatusissuedAt · DateTime · nullable · column issued_atissuedAt?DateTimedueAt · DateTime · nullable · column due_atdueAt?DateTimetotalMinor · Int · column total_minortotalMinorIntinvoice_linesinvoice_linesid · String · primary key · default uuid(PKidStringinvoiceId · String · → invoice.id · column invoice_idFKinvoiceIdStringparcelId · String · column parcel_idparcelIdStringdescription · StringdescriptionStringamountMinor · Int · column amount_minoramountMinorIntsurcharge · Boolean · default falsesurchargeBooleanpaymentspaymentsid · String · primary key · default uuid(PKidStringinvoiceId · String · → invoice.id · column invoice_idFKinvoiceIdStringreference · StringUQreferenceStringamountMinor · Int · column amount_minoramountMinorIntreceivedAt · DateTime · column received_atreceivedAtDateTimerate_cardsrate_cardsid · String · primary key · default uuid(PKidStringaccountId · String · → account.id · column account_idFKaccountIdStringservice · StringserviceStringperKgMinor · Int · column per_kg_minorperKgMinorIntvalidFrom · DateTime · column valid_fromvalidFromDateTimevalidTo · DateTime · nullable · column valid_tovalidTo?DateTimeInvoiceStatusInvoiceStatusenumdraftdraftissuedissuedpart_paidpart_paidpaidpaidoverdueoverduewritten_offwritten_offaccount · accountId → id · many ↔ oneaccountaccountId → idinvoice · invoiceId → id · many ↔ one · on delete cascadeinvoiceinvoiceId → idinvoice · invoiceId → id · many ↔ oneinvoiceinvoiceId → idaccount · accountId → id · many ↔ oneaccountaccountId → id
drag to pan · wheel to zoom · click a node · Esc clears

Source

  • Imported from showcase/prisma/schema.prisma
  • Cardinality: FK side = many unless the FK column is @unique