BE-MiniERP/modules/sales/models/invoice.go
2025-06-23 15:32:27 +07:00

22 lines
982 B
Go

package models
import "time"
type Invoice struct {
ID uint `gorm:"primaryKey" json:"id"`
SalesOrderID uint `json:"sales_order_id"`
InvoiceNumber string `gorm:"not null;unique" json:"invoice_number"`
InvoiceDate time.Time `json:"invoice_date"`
DueDate time.Time `json:"due_date"`
TotalAmount float64 `json:"total_amount"`
Status string `json:"status"` // contoh: unpaid, partial, paid
Note string `json:"note"`
IsDpInvoice bool `json:"is_dp_invoice"` // Apakah ini invoice DP (Down Payment)
Amount float64 `json:"amount"` // Jumlah DP jika ada
ParentInvoiceID uint `json:"parent_invoice_id,omitempty"` // ID invoice induk jika ini adalah invoice lanjutan
ParentInvoice *Invoice `gorm:"foreignKey:ParentInvoiceID" json:"parent_invoice,omitempty"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}