Documentation
¶
Index ¶
- type Discount
- type Invoice
- type Item
- type Pdf
- type Repository
- func (r *Repository) GetAll() ([]Invoice, error)
- func (r *Repository) GetByInvoiceNumber(invoiceNumber string) (Invoice, error)
- func (r *Repository) GetInvoiceItems(invoiceNumber string) ([]Item, error)
- func (r *Repository) GetInvoicePdf(invoiceNumber string) (Pdf, error)
- func (r *Repository) GetSelection(page int, itemsPerPage int) ([]Invoice, error)
- type Status
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Discount ¶
type Discount struct {
// Discounted amount (in cents)
Amount int `json:"amount"`
// Applied discount description
Description string `json:"description"`
}
Discount struct for a Discount
type Invoice ¶
type Invoice struct {
// Invoice creation date
CreationDate rest.Date `json:"creationDate"`
// Currency used for this invoice
Currency string `json:"currency"`
// Invoice deadline
DueDate rest.Date `json:"dueDate"`
// Invoice number
InvoiceNumber string `json:"invoiceNumber"`
// Invoice status
InvoiceStatus Status `json:"invoiceStatus"`
// Invoice paid date
PayDate rest.Date `json:"payDate"`
// Invoice total (displayed in cents)
TotalAmount int `json:"totalAmount"`
// Invoice total including VAT (displayed in cents)
TotalAmountInclVat int `json:"totalAmountInclVat"`
}
Invoice struct for an invoice
type Item ¶
type Item struct {
// Date when the order line item was up for invoicing
Date rest.Date `json:"date"`
// Product description
Description string `json:"description"`
// Applied discounts
Discounts []Discount `json:"discounts"`
// Payment is recurring
IsRecurring bool `json:"isRecurring"`
// Price excluding VAT (displayed in cents)
Price int `json:"price"`
// Price including VAT (displayed in cents)
PriceInclVat int `json:"priceInclVat"`
// Product name
Product string `json:"product"`
// Quantity
Quantity int `json:"quantity"`
// Amount of VAT charged
Vat int `json:"vat"`
// Percentage used to calculate the VAT
VatPercentage int `json:"vatPercentage"`
}
Item struct is one item line on a invoice, see Description and Product for more information
type Pdf ¶
type Pdf struct {
// Content contains a base64 encoded string containing the pdf content
// We provide a io.Reader on this struct called GetReader
Content string `json:"pdf"`
}
Pdf struct for a invoice as Pdf
type Repository ¶
type Repository repository.RestRepository
Repository can be used to get a list of your invoices, invoice subitems (a specific product) or an invoice as pdf
func (*Repository) GetAll ¶
func (r *Repository) GetAll() ([]Invoice, error)
GetAll returns a list of all invoices attached to your TransIP account
func (*Repository) GetByInvoiceNumber ¶
func (r *Repository) GetByInvoiceNumber(invoiceNumber string) (Invoice, error)
GetByInvoiceNumber returns an Invoice object for the given invoice number.
invoiceNumber corresponds to the InvoiceNumber property on a Invoice struct
func (*Repository) GetInvoiceItems ¶
func (r *Repository) GetInvoiceItems(invoiceNumber string) ([]Item, error)
GetInvoiceItems returns a list of InvoiceItems, detailing what specific products or services are on this invoice.
invoiceNumber corresponds to the InvoiceNumber property on a Invoice struct.
func (*Repository) GetInvoicePdf ¶
func (r *Repository) GetInvoicePdf(invoiceNumber string) (Pdf, error)
GetInvoicePdf returns a pdf struct containing the contents of the pdf encoded in base64 there are specific Pdf struct functions that help you decode the contents of the pdf to a file.
invoiceNumber corresponds to the InvoiceNumber property on a Invoice struct.
func (*Repository) GetSelection ¶
func (r *Repository) GetSelection(page int, itemsPerPage int) ([]Invoice, error)
GetSelection returns a limited list of invoices, specify how many and which page/chunk of invoices you want to retrieve
type Status ¶
type Status string
Status is one of the following strings 'opened', 'closed', 'waitsforpayment', 'overdue', 'problem' , 'paid', 'paymentpending'
const ( // InvoiceStatusOpened is the invoice status field for a opened invoice InvoiceStatusOpened Status = "opened" // InvoiceStatusClosed is the invoice status field for a closed invoice InvoiceStatusClosed Status = "closed" // InvoiceStatusWaitsforpayment is the invoice status field for when the invoice needs to be paid InvoiceStatusWaitsforpayment Status = "waitsforpayment" // InvoiceStatusOverdue is the invoice status field for when a payment is overdue InvoiceStatusOverdue Status = "overdue" // InvoiceStatusProblem is the invoice status field for when a problem occurred during invoicing InvoiceStatusProblem Status = "problem" // InvoiceStatusPaid is the invoice status field for a paid invoice InvoiceStatusPaid Status = "paid" // InvoiceStatusPaymentpending is the invoice status field for when a payment is pending InvoiceStatusPaymentpending Status = "paymentpending" )