| 11 | | - address: Text, optional. |
| 12 | | - vat: Text, optional. |
| 13 | | - email: Text, required. |
| | 11 | - company_street: Text, optional. |
| | 12 | - company_city: Text, optional. |
| | 13 | - company_state: Text, optional. |
| | 14 | - company_zip: Text, optional. |
| | 15 | - company_vat: Text, optional. |
| | 16 | - company_email: Text, required. |
| 37 | | - status: Enum (Active, Inactive, Terminated), required. |
| 38 | | - iban: Text, optional. |
| 39 | | - cv: Text, optional (file path or URL). |
| 40 | | - photo: Text, optional (file path or URL). |
| 41 | | - notes: Text, optional. |
| 42 | | - project: Text, optional. |
| | 40 | - employee_role: Text, optional. |
| | 41 | - employee_status: Enum (Active, Inactive, Terminated), required. |
| | 42 | - employee_street: Text, optional. |
| | 43 | - employee_city: Text, optional. |
| | 44 | - employee_state: Text, optional. |
| | 45 | - employee_zip: Text, optional. |
| | 46 | - employee_iban: Text, optional. |
| | 47 | - employee_bank_name: Text, optional. |
| | 48 | - employee_swift: Text, optional. |
| | 49 | - employee_cv_ref: Text, optional (file path or URL). |
| | 50 | - employee_photo_ref: Text, optional (file path or URL). |
| 54 | | - status: Enum (Applied, Interview, Offered, Rejected), required. |
| 55 | | - cv: Text, optional (file path or URL). |
| 56 | | - interview_stage: Text, optional. |
| 57 | | - notes: Text, optional. |
| | 62 | - candidate_status: Enum (Applied, Interview, Offered, Rejected), required. |
| | 63 | - candidate_cv_ref: Text, optional (file path or URL). |
| | 64 | - candidate_stage: Text, optional. |
| | 65 | - candidate_notes: Text, optional. |
| 70 | | - phone: Text, optional. |
| 71 | | - address: Text, optional. |
| 72 | | - vat: Text, optional. |
| 73 | | - logo: Text, optional (file path or URL). |
| | 78 | - client_street: Text, optional. |
| | 79 | - client_city: Text, optional. |
| | 80 | - client_state: Text, optional. |
| | 81 | - client_zip: Text, optional. |
| | 82 | - client_vat: Text, optional. |
| | 83 | - client_logo_url: Text, optional (file path or URL). |
| 83 | | - from: Text, required (company details). |
| 84 | | - to: Text, required (client details). |
| 85 | | - issue_date: Date, required. |
| 86 | | - due_date: Date, required. |
| 87 | | - notes: Text, optional. |
| 88 | | - status: Enum (Draft, Pending, Paid, Overdue), required. |
| | 93 | - invoice_no: Numeric, required. |
| | 94 | - invoice_issue_date: Date, required. |
| | 95 | - invoice_due_date: Date, required. |
| | 96 | - invoice_notes: Text, optional. |
| | 97 | - invoice_status: Enum (Draft, Pending, Paid, Overdue), required. |
| 120 | | - Company ↔ User (company_user): A company has many users; each user belongs to one company. |
| 121 | | - Company ↔ Employee (company_employee): A company has many employees; each employee belongs to one company. |
| 122 | | - Company ↔ Candidate (company_candidate): A company has many candidates; each candidate belongs to one company. |
| 123 | | - Company ↔ Client (company_client): A company has many clients; each client belongs to one company. |
| 124 | | - Company ↔ Invoice (company_invoice): A company generates many invoices; each invoice belongs to one company. |
| 125 | | - Client ↔ Invoice (client_invoice): A client can have many invoices; each invoice is addressed to one client. |
| 126 | | - Invoice ↔ LineItem (invoice_lineitem): An invoice has multiple line items; each line item belongs to one invoice. |
| 127 | | - Company ↔ EmailTemplate (company_emailtemplate): A company has multiple email templates; each template belongs to one company. |
| | 129 | - Company ↔ User (company_manages_user): A company has many users; each user belongs to one company. |
| | 130 | - Company ↔ Employee (company_employs_employee): A company has many employees; each employee belongs to one company. |
| | 131 | - Company ↔ Candidate (company_screens_candidate): A company has many candidates; each candidate belongs to one company. |
| | 132 | - Company ↔ Client (company_owns_client): A company has many clients; each client belongs to one company. |
| | 133 | - Company ↔ Invoice (company_issues_invoice): A company generates many invoices; each invoice belongs to one company. |
| | 134 | - Client ↔ Invoice (client_receives_invoice): A client can have many invoices; each invoice is addressed to one client. |
| | 135 | - Invoice ↔ LineItem (invoice_contains_item): An invoice has multiple line items; each line item belongs to one invoice. |
| | 136 | - Company ↔ EmailTemplate (company_creates_template): A company has multiple email templates; each template belongs to one company. |