Enums

From version 1.1.14

Using Enums

The package provides several enums to help with type safety and validation:

FilterOptions

use Dcblogdev\Xero\Enums\FilterOptions;

// Available filter options
FilterOptions::Ids->value;            // 'ids'
FilterOptions::IncludeArchived->value; // 'includeArchived'
FilterOptions::Order->value;          // 'order'
FilterOptions::Page->value;           // 'page'
FilterOptions::SearchTerm->value;     // 'searchTerm'
FilterOptions::SummaryOnly->value;    // 'summaryOnly'
FilterOptions::Where->value;          // 'where'
FilterOptions::Statuses->value;       // 'Statuses'

// Check if a filter option is valid
FilterOptions::isValid('page'); // true
FilterOptions::isValid('invalid'); // false

ContactStatus

use Dcblogdev\Xero\Enums\ContactStatus;

// Available contact statuses
ContactStatus::Active->value;      // 'ACTIVE'
ContactStatus::Archived->value;    // 'ARCHIVED'
ContactStatus::GDPRRequest->value; // 'GDPRREQUEST'

// Check if a contact status is valid
ContactStatus::isValid('ACTIVE'); // true
ContactStatus::isValid('INVALID'); // false

InvoiceType

use Dcblogdev\Xero\Enums\InvoiceType;

// Available invoice types
InvoiceType::AccPay->value; // 'ACCPAY' - for bills (accounts payable)
InvoiceType::AccRec->value; // 'ACCREC' - for sales invoices (accounts receivable)

// Check if an invoice type is valid
InvoiceType::isValid('ACCREC'); // true
InvoiceType::isValid('INVALID'); // false

InvoiceStatus

use Dcblogdev\Xero\Enums\InvoiceStatus;

// Available invoice statuses
InvoiceStatus::Authorised->value; // 'AUTHORISED'
InvoiceStatus::Deleted->value;    // 'DELETED'
InvoiceStatus::Draft->value;      // 'DRAFT'
InvoiceStatus::Paid->value;       // 'PAID'
InvoiceStatus::Submitted->value;  // 'SUBMITTED'
InvoiceStatus::Voided->value;     // 'VOIDED'

// Check if an invoice status is valid
InvoiceStatus::isValid('DRAFT'); // true
InvoiceStatus::isValid('INVALID'); // false

InvoiceLineAmountType

use Dcblogdev\Xero\Enums\InvoiceLineAmountType;

// Available invoice line amount types
InvoiceLineAmountType::Exclusive->value; // 'Exclusive' - amounts are exclusive of tax
InvoiceLineAmountType::Inclusive->value; // 'Inclusive' - amounts are inclusive of tax
InvoiceLineAmountType::NoTax->value;     // 'NoTax' - amounts have no tax

// Check if an invoice line amount type is valid
InvoiceLineAmountType::isValid('Exclusive'); // true
InvoiceLineAmountType::isValid('INVALID'); // false

Copyright © 2006 - 2025 DC Blog - All rights reserved.