-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocument.go
33 lines (29 loc) · 1.71 KB
/
document.go
1
2
3
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
/*
Package invoice_generator
Copyright 2021 @chunvv. All Rights Reserved.
Created by Trung Vu on AD 2021/07/10.
*/
package invoice_generator
import "github.com/jung-kurt/gofpdf"
type Document struct {
pdf *gofpdf.Fpdf
Options *Options `json:"options,omitempty"`
Header *HeaderFooter `json:"header,omitempty"`
Footer *HeaderFooter `json:"footer,omitempty"`
Type string `json:"type,omitempty" validate:"required,oneof=INVOICE RECEIPT"`
Number string `json:"version,omitempty" validate:"max=32"`
Description string `json:"description,omitempty" validate:"max=1024"`
Notes string `json:"notes,omitempty"`
Company *Contact `json:"company,omitempty" validate:"required"`
Customer *Contact `json:"customer,omitempty" validate:"required"`
Items []*Item `json:"items,omitempty"`
Date string `json:"date,omitempty"`
ValidityDate string `json:"validity_date,omitempty"`
PaymentTerm string `json:"payment_term,omitempty"`
AfterCommission *AfterCommission `json:"after_commission,omitempty"`
ConsumptionTax *ConsumptionTax `json:"consumption_tax,omitempty"`
WithholdingTax *WithholdingTax `json:"withholding_tax,omitempty"`
PaymentFree *PaymentFree `json:"payment_free,omitempty"`
PaidAmount *PaidAmount `json:"paid_amount,omitempty"`
InvoiceRegistrationNumber *string `json:"invoice_registration_number,omitempty"`
}