Laravel Developer
David Carr
Web Developer
All Posts Archives Categories Authors
About Books Packages Templates Contact
Blog
All Posts Archives Categories Authors
About Books Packages Templates Contact
Laravel Xero
Laravel Packages
Laravel Microsoft Graph Laravel Xero Laravel Sent Emails Laravel Dropbox Laravel Box Laravel Companies House Laravel Countries Laravel Eventbrite Laravel Blade Components
PHP Packages
PDO Wrapper PHP find and replace JSON SQL Import IMAP Export CSV Pagination
v1
Navigation
  • Introduction
  • Install
  • Commands
  • Middleware
  • Is Connected
  • Disconnect
  • Tenant
  • Helpers
  • DTOs
  • Enums
  • Contacts
  • Credit Notes
  • Invoices
  • Webhooks
Navigation
  • Introduction
  • Install
  • Commands
  • Middleware
  • Is Connected
  • Disconnect
  • Tenant
  • Helpers
  • DTOs
  • Enums
  • Contacts
  • Credit Notes
  • Invoices
  • Webhooks

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
Table of Contents
  • Using Enums
    • FilterOptions
    • ContactStatus
    • InvoiceType
    • InvoiceStatus
    • InvoiceLineAmountType

DCBlog

Practical tutorials, code snippets, and in-depth guides for modern web development. Helping developers build better applications since 2009.

Subscribe to my newsletter for the latest updates on my books and digital products.

© 2009 - 2025 DC Blog. All rights reserved.

Privacy Policy • Terms of Service