// 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"
)

// InvoiceItemSummary invoice item summary
//
// swagger:model InvoiceItemSummary
type InvoiceItemSummary struct {

	// c o g s
	COGS float64 `json:"COGS,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"`

	// shipping handling
	ShippingHandling float64 `json:"ShippingHandling,omitempty"`

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

	// taxnexus code
	TaxnexusCode string `json:"TaxnexusCode,omitempty"`
}

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

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

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