@@ -10,39 +10,39 @@ import (
1010
1111// Invoice represents a Harvest invoice.
1212type Invoice struct {
13- ID int64 `json:"id"`
14- ClientKey string `json:"client_key"`
15- Number string `json:"number"`
16- PurchaseOrder string `json:"purchase_order"`
17- Amount float64 `json:"amount"`
18- DueAmount float64 `json:"due_amount"`
19- Tax * float64 `json:"tax"`
20- TaxAmount float64 `json:"tax_amount"`
21- Tax2 * float64 `json:"tax2"`
22- Tax2Amount float64 `json:"tax2_amount"`
23- Discount * float64 `json:"discount"`
24- DiscountAmount float64 `json:"discount_amount"`
25- Subject string `json:"subject"`
26- Notes string `json:"notes"`
27- Currency string `json:"currency"`
28- State string `json:"state"`
29- PeriodStart * string `json:"period_start"`
30- PeriodEnd * string `json:"period_end"`
31- IssueDate string `json:"issue_date"`
32- DueDate string `json:"due_date"`
33- PaymentTerm string `json:"payment_term"`
34- SentAt * time.Time `json:"sent_at"`
35- PaidAt * time.Time `json:"paid_at"`
36- PaidDate * string `json:"paid_date"`
37- ClosedAt * time.Time `json:"closed_at"`
38- RecurringInvoiceID * int64 `json:"recurring_invoice_id"`
39- Client ClientRef `json:"client"`
40- Estimate * EstimateRef `json:"estimate"`
41- Retainer * RetainerRef `json:"retainer"`
42- Creator * UserRef `json:"creator"`
43- LineItems []InvoiceLineItem `json:"line_items"`
44- CreatedAt time.Time `json:"created_at"`
45- UpdatedAt time.Time `json:"updated_at"`
13+ ID int64 `json:"id"`
14+ ClientKey string `json:"client_key"`
15+ Number string `json:"number"`
16+ PurchaseOrder string `json:"purchase_order"`
17+ Amount float64 `json:"amount"`
18+ DueAmount float64 `json:"due_amount"`
19+ Tax * float64 `json:"tax"`
20+ TaxAmount float64 `json:"tax_amount"`
21+ Tax2 * float64 `json:"tax2"`
22+ Tax2Amount float64 `json:"tax2_amount"`
23+ Discount * float64 `json:"discount"`
24+ DiscountAmount float64 `json:"discount_amount"`
25+ Subject string `json:"subject"`
26+ Notes string `json:"notes"`
27+ Currency string `json:"currency"`
28+ State string `json:"state"`
29+ PeriodStart * string `json:"period_start"`
30+ PeriodEnd * string `json:"period_end"`
31+ IssueDate string `json:"issue_date"`
32+ DueDate string `json:"due_date"`
33+ PaymentTerm string `json:"payment_term"`
34+ SentAt * time.Time `json:"sent_at"`
35+ PaidAt * time.Time `json:"paid_at"`
36+ PaidDate * string `json:"paid_date"`
37+ ClosedAt * time.Time `json:"closed_at"`
38+ RecurringInvoiceID * int64 `json:"recurring_invoice_id"`
39+ Client ClientRef `json:"client"`
40+ Estimate * EstimateRef `json:"estimate"`
41+ Retainer * RetainerRef `json:"retainer"`
42+ Creator * UserRef `json:"creator"`
43+ LineItems []InvoiceLineItem `json:"line_items"`
44+ CreatedAt time.Time `json:"created_at"`
45+ UpdatedAt time.Time `json:"updated_at"`
4646}
4747
4848// EstimateRef is a reference to an estimate.
@@ -127,21 +127,21 @@ func (o InvoiceListOptions) QueryParams() string {
127127
128128// InvoiceInput is used to create or update an invoice.
129129type InvoiceInput struct {
130- ClientID int64 `json:"client_id,omitempty"`
131- RetainerID * int64 `json:"retainer_id,omitempty"`
132- EstimateID * int64 `json:"estimate_id,omitempty"`
133- Number * string `json:"number,omitempty"`
134- PurchaseOrder * string `json:"purchase_order,omitempty"`
135- Tax * float64 `json:"tax,omitempty"`
136- Tax2 * float64 `json:"tax2,omitempty"`
137- Discount * float64 `json:"discount,omitempty"`
138- Subject * string `json:"subject,omitempty"`
139- Notes * string `json:"notes,omitempty"`
140- Currency * string `json:"currency,omitempty"`
141- IssueDate * string `json:"issue_date,omitempty"`
142- DueDate * string `json:"due_date,omitempty"`
143- PaymentTerm * string `json:"payment_term,omitempty"`
144- LineItems []InvoiceLineItemInput `json:"line_items,omitempty"`
130+ ClientID int64 `json:"client_id,omitempty"`
131+ RetainerID * int64 `json:"retainer_id,omitempty"`
132+ EstimateID * int64 `json:"estimate_id,omitempty"`
133+ Number * string `json:"number,omitempty"`
134+ PurchaseOrder * string `json:"purchase_order,omitempty"`
135+ Tax * float64 `json:"tax,omitempty"`
136+ Tax2 * float64 `json:"tax2,omitempty"`
137+ Discount * float64 `json:"discount,omitempty"`
138+ Subject * string `json:"subject,omitempty"`
139+ Notes * string `json:"notes,omitempty"`
140+ Currency * string `json:"currency,omitempty"`
141+ IssueDate * string `json:"issue_date,omitempty"`
142+ DueDate * string `json:"due_date,omitempty"`
143+ PaymentTerm * string `json:"payment_term,omitempty"`
144+ LineItems []InvoiceLineItemInput `json:"line_items,omitempty"`
145145 LineItemsImport * InvoiceLineItemsImport `json:"line_items_import,omitempty"`
146146}
147147
@@ -160,8 +160,8 @@ type InvoiceLineItemInput struct {
160160
161161// InvoiceLineItemsImport is used to import time/expenses to an invoice.
162162type InvoiceLineItemsImport struct {
163- ProjectIDs []int64 `json:"project_ids,omitempty"`
164- Time * InvoiceTimeImport `json:"time,omitempty"`
163+ ProjectIDs []int64 `json:"project_ids,omitempty"`
164+ Time * InvoiceTimeImport `json:"time,omitempty"`
165165 Expenses * InvoiceExpensesImport `json:"expenses,omitempty"`
166166}
167167
@@ -174,10 +174,10 @@ type InvoiceTimeImport struct {
174174
175175// InvoiceExpensesImport specifies how to import expenses.
176176type InvoiceExpensesImport struct {
177- SummaryType string `json:"summary_type,omitempty"` // category, project, people, detailed
178- From string `json:"from,omitempty"`
179- To string `json:"to,omitempty"`
180- AttachReceipts bool `json:"attach_receipts,omitempty"`
177+ SummaryType string `json:"summary_type,omitempty"` // category, project, people, detailed
178+ From string `json:"from,omitempty"`
179+ To string `json:"to,omitempty"`
180+ AttachReceipts bool `json:"attach_receipts,omitempty"`
181181}
182182
183183// ListInvoices returns a paginated list of invoices.
0 commit comments