// Code generated by go-swagger; DO NOT EDIT.

// All Code Copyright(c) 2018-2020 by Taxnexus, Inc.
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed

package plex_models

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// InvoiceSummary invoice summary
//
// swagger:model InvoiceSummary
type InvoiceSummary struct {

	// amount
	Amount float64 `json:"Amount,omitempty"`

	// business tax
	BusinessTax float64 `json:"BusinessTax,omitempty"`

	// cannabis tax
	CannabisTax float64 `json:"CannabisTax,omitempty"`

	// estimated amount
	EstimatedAmount float64 `json:"EstimatedAmount,omitempty"`

	// estimated business tax
	EstimatedBusinessTax float64 `json:"EstimatedBusinessTax,omitempty"`

	// estimated c o g s
	EstimatedCOGS float64 `json:"EstimatedCOGS,omitempty"`

	// estimated cannabis tax
	EstimatedCannabisTax float64 `json:"EstimatedCannabisTax,omitempty"`

	// estimated discount
	EstimatedDiscount float64 `json:"EstimatedDiscount,omitempty"`

	// estimated sales tax
	EstimatedSalesTax float64 `json:"EstimatedSalesTax,omitempty"`

	// estimated subtotal
	EstimatedSubtotal float64 `json:"EstimatedSubtotal,omitempty"`

	// The Period Name of the summary line
	PeriodName string `json:"PeriodName,omitempty"`

	// Taxnexus Geocode for this group of item summaries
	PlaceGeocode string `json:"PlaceGeocode,omitempty"`

	// sales regulation
	SalesRegulation string `json:"SalesRegulation,omitempty"`

	// sales tax
	SalesTax float64 `json:"SalesTax,omitempty"`

	// subtotal
	Subtotal float64 `json:"Subtotal,omitempty"`
}

// Validate validates this invoice summary
func (m *InvoiceSummary) Validate(formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *InvoiceSummary) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *InvoiceSummary) UnmarshalBinary(b []byte) error {
	var res InvoiceSummary
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
