You are here

interface InvoiceInterface in Commerce Invoice 8.2

Defines the interface for invoices.

Hierarchy

Expanded class hierarchy of InvoiceInterface

All classes that implement InvoiceInterface

16 files declare their use of InvoiceInterface
commerce_invoice.module in ./commerce_invoice.module
Defines the Invoice entity and associated features.
InvoiceBreadcrumbBuilder.php in src/InvoiceBreadcrumbBuilder.php
InvoiceConfirmationMail.php in src/Mail/InvoiceConfirmationMail.php
InvoiceConfirmationMailInterface.php in src/Mail/InvoiceConfirmationMailInterface.php
InvoiceController.php in src/Controller/InvoiceController.php

... See full list

File

src/Entity/InvoiceInterface.php, line 17

Namespace

Drupal\commerce_invoice\Entity
View source
interface InvoiceInterface extends ContentEntityInterface, EntityAdjustableInterface, EntityChangedInterface, EntityStoreInterface {

  /**
   * Gets the invoice number.
   *
   * @return string
   *   The invoice number.
   */
  public function getInvoiceNumber();

  /**
   * Sets the invoice number.
   *
   * @param string $invoice_number
   *   The invoice number.
   *
   * @return $this
   */
  public function setInvoiceNumber($invoice_number);

  /**
   * Gets the customer user.
   *
   * @return \Drupal\user\UserInterface
   *   The customer user entity. If the invoice is anonymous (customer
   *   unspecified or deleted), an anonymous user will be returned. Use
   *   $customer->isAnonymous() to check.
   */
  public function getCustomer();

  /**
   * Sets the customer user.
   *
   * @param \Drupal\user\UserInterface $account
   *   The customer user entity.
   *
   * @return $this
   */
  public function setCustomer(UserInterface $account);

  /**
   * Gets the customer user ID.
   *
   * @return int
   *   The customer user ID ('0' if anonymous).
   */
  public function getCustomerId();

  /**
   * Gets the invoice email.
   *
   * @return string
   *   The invoice email.
   */
  public function getEmail();

  /**
   * Sets the invoice email.
   *
   * @param string $mail
   *   The invoice email.
   *
   * @return $this
   */
  public function setEmail($mail);

  /**
   * Sets the customer user ID.
   *
   * @param int $uid
   *   The customer user ID.
   *
   * @return $this
   */
  public function setCustomerId($uid);

  /**
   * Gets the billing profile.
   *
   * @return \Drupal\profile\Entity\ProfileInterface|null
   *   The billing profile, or NULL if none found.
   */
  public function getBillingProfile();

  /**
   * Sets the billing profile.
   *
   * @param \Drupal\profile\Entity\ProfileInterface $profile
   *   The billing profile.
   *
   * @return $this
   */
  public function setBillingProfile(ProfileInterface $profile);

  /**
   * Gets the invoice orders.
   *
   * @return \Drupal\commerce_order\Entity\OrderInterface[]
   *   The invoice orders.
   */
  public function getOrders();

  /**
   * Sets the invoice orders.
   *
   * @param \Drupal\commerce_order\Entity\OrderInterface[] $orders
   *   The invoice orders.
   *
   * @return $this
   */
  public function setOrders(array $orders);

  /**
   * Gets the invoice items.
   *
   * @return \Drupal\commerce_invoice\Entity\InvoiceItemInterface[]
   *   The invoice items.
   */
  public function getItems();

  /**
   * Sets the invoice items.
   *
   * @param \Drupal\commerce_invoice\Entity\InvoiceItemInterface[] $invoice_items
   *   The invoice items.
   *
   * @return $this
   */
  public function setItems(array $invoice_items);

  /**
   * Gets whether the invoice has invoice items.
   *
   * @return bool
   *   TRUE if the invoice has invoice items, FALSE otherwise.
   */
  public function hasItems();

  /**
   * Adds an invoice item.
   *
   * @param \Drupal\commerce_invoice\Entity\InvoiceItemInterface $invoice_item
   *   The invoice item.
   *
   * @return $this
   */
  public function addItem(InvoiceItemInterface $invoice_item);

  /**
   * Removes an invoice item.
   *
   * @param \Drupal\commerce_invoice\Entity\InvoiceItemInterface $invoice_item
   *   The invoice item.
   *
   * @return $this
   */
  public function removeItem(InvoiceItemInterface $invoice_item);

  /**
   * Checks whether the invoice has a given invoice item.
   *
   * @param \Drupal\commerce_invoice\Entity\InvoiceItemInterface $invoice_item
   *   The invoice item.
   *
   * @return bool
   *   TRUE if the invoice item was found, FALSE otherwise.
   */
  public function hasItem(InvoiceItemInterface $invoice_item);

  /**
   * Collects all adjustments that belong to the invoice.
   *
   * Unlike getAdjustments() which returns only invoice adjustments, this
   * method returns both invoice and invoice item adjustments.
   *
   * Important:
   * The returned adjustments are unprocessed, and must be processed before use.
   *
   * @param string[] $adjustment_types
   *   The adjustment types to include.
   *   Examples: fee, promotion, tax. Defaults to all adjustment types.
   *
   * @return \Drupal\commerce_order\Adjustment[]
   *   The adjustments.
   *
   * @see \Drupal\commerce_order\AdjustmentTransformerInterface::processAdjustments()
   */
  public function collectAdjustments(array $adjustment_types = []);

  /**
   * Gets the payment method.
   *
   * @return string
   *   The payment method.
   */
  public function getPaymentMethod();

  /**
   * Sets the payment method.
   *
   * @param string $payment_method
   *   The payment method.
   *
   * @return $this
   */
  public function setPaymentMethod($payment_method);

  /**
   * Gets the invoice subtotal price.
   *
   * Represents a sum of all invoice item totals.
   *
   * @return \Drupal\commerce_price\Price|null
   *   The invoice subtotal price, or NULL.
   */
  public function getSubtotalPrice();

  /**
   * Recalculates the invoice total price.
   *
   * @return $this
   */
  public function recalculateTotalPrice();

  /**
   * Gets the invoice total price.
   *
   * Represents a sum of all invoice item totals.
   *
   * @return \Drupal\commerce_price\Price|null
   *   The invoice total price, or NULL.
   */
  public function getTotalPrice();

  /**
   * Gets the total paid price.
   *
   * @return \Drupal\commerce_price\Price|null
   *   The total paid price, or NULL.
   */
  public function getTotalPaid();

  /**
   * Sets the total paid price.
   *
   * @param \Drupal\commerce_price\Price $total_paid
   *   The total paid price.
   */
  public function setTotalPaid(Price $total_paid);

  /**
   * Gets the invoice balance.
   *
   * Calculated by subtracting the total paid price from the total price.
   * Can be negative in case the invoice was overpaid.
   *
   * @return \Drupal\commerce_price\Price|null
   *   The invoice balance, or NULL.
   */
  public function getBalance();

  /**
   * Gets whether the invoice has been fully paid.
   *
   * Invoices are considered fully paid once their balance
   * becomes zero or negative.
   *
   * @return bool
   *   TRUE if the invoice has been fully paid, FALSE otherwise.
   */
  public function isPaid();

  /**
   * Gets the invoice state.
   *
   * @return \Drupal\state_machine\Plugin\Field\FieldType\StateItemInterface
   *   The invoice state.
   */
  public function getState();

  /**
   * Gets an invoice data value with the given key.
   *
   * Used to store temporary data.
   *
   * @param string $key
   *   The key.
   * @param mixed $default
   *   The default value.
   *
   * @return mixed
   *   The value.
   */
  public function getData($key, $default = NULL);

  /**
   * Sets an invoice data value with the given key.
   *
   * @param string $key
   *   The key.
   * @param mixed $value
   *   The value.
   *
   * @return $this
   */
  public function setData($key, $value);

  /**
   * Gets the invoice creation timestamp.
   *
   * @return int
   *   Creation timestamp of the invoice.
   */
  public function getCreatedTime();

  /**
   * Sets the invoice creation timestamp.
   *
   * @param int $timestamp
   *   The invoice creation timestamp.
   *
   * @return $this
   */
  public function setCreatedTime($timestamp);

  /**
   * Gets the invoice date timestamp.
   *
   * @return int
   *   Date timestamp of the invoice.
   */
  public function getInvoiceDateTime();

  /**
   * Sets the invoice date timestamp.
   *
   * @param int $timestamp
   *   The invoice date timestamp.
   *
   * @return $this
   */
  public function setInvoiceDateTime($timestamp);

  /**
   * Gets the invoice due date timestamp.
   *
   * @return int
   *   Due date timestamp of the invoice.
   */
  public function getDueDateTime();

  /**
   * Sets the invoice due date timestamp.
   *
   * @param int $timestamp
   *   The invoice due date timestamp.
   *
   * @return $this
   */
  public function setDueDateTime($timestamp);

  /**
   * Gets the invoice file.
   *
   * @return \Drupal\file\FileInterface|null
   *   The invoice file, NULL if empty.
   */
  public function getFile();

  /**
   * Sets the invoice file (i.e the reference to the generated PDF file).
   *
   * @param \Drupal\file\FileInterface $file
   *   The invoice file.
   *
   * @return $this
   */
  public function setFile(FileInterface $file);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
EntityAdjustableInterface::addAdjustment public function Adds an adjustment. 2
EntityAdjustableInterface::getAdjustments public function Gets the adjustments. 2
EntityAdjustableInterface::removeAdjustment public function Removes an adjustment. 2
EntityAdjustableInterface::setAdjustments public function Sets the adjustments. 2
EntityChangedInterface::getChangedTime public function Gets the timestamp of the last entity change for the current translation.
EntityChangedInterface::getChangedTimeAcrossTranslations public function Gets the timestamp of the last entity change across all translations.
EntityChangedInterface::setChangedTime public function Sets the timestamp of the last entity change for the current translation.
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::link Deprecated public function Deprecated way of generating a link to the entity. See toLink(). 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::url Deprecated public function Gets the public URL for this entity. 2
EntityInterface::urlInfo Deprecated public function Gets the URL object for the entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
EntityStoreInterface::getStore public function Gets the store. 2
EntityStoreInterface::getStoreId public function Gets the store ID. 2
EntityStoreInterface::setStore public function Sets the store. 2
EntityStoreInterface::setStoreId public function Sets the store ID. 2
FieldableEntityInterface::baseFieldDefinitions public static function Provides base field definitions for an entity type. 2
FieldableEntityInterface::bundleFieldDefinitions public static function Provides field definitions for a specific bundle. 2
FieldableEntityInterface::get public function Gets a field item list. 1
FieldableEntityInterface::getFieldDefinition public function Gets the definition of a contained field. 1
FieldableEntityInterface::getFieldDefinitions public function Gets an array of field definitions of all contained fields. 1
FieldableEntityInterface::getFields public function Gets an array of all field item lists. 1
FieldableEntityInterface::getTranslatableFields public function Gets an array of field item lists for translatable fields. 1
FieldableEntityInterface::hasField public function Determines whether the entity has a field with the given name. 1
FieldableEntityInterface::isValidationRequired public function Checks whether entity validation is required before saving the entity. 1
FieldableEntityInterface::onChange public function Reacts to changes to a field. 1
FieldableEntityInterface::set public function Sets a field value. 1
FieldableEntityInterface::setValidationRequired public function Sets whether entity validation is required before saving the entity. 1
FieldableEntityInterface::toArray public function Gets an array of all field values. Overrides EntityInterface::toArray
FieldableEntityInterface::validate public function Validates the currently set values. 1
InvoiceInterface::addItem public function Adds an invoice item. 1
InvoiceInterface::collectAdjustments public function Collects all adjustments that belong to the invoice. 1
InvoiceInterface::getBalance public function Gets the invoice balance. 1
InvoiceInterface::getBillingProfile public function Gets the billing profile. 1
InvoiceInterface::getCreatedTime public function Gets the invoice creation timestamp. 1
InvoiceInterface::getCustomer public function Gets the customer user. 1
InvoiceInterface::getCustomerId public function Gets the customer user ID. 1
InvoiceInterface::getData public function Gets an invoice data value with the given key. 1
InvoiceInterface::getDueDateTime public function Gets the invoice due date timestamp. 1
InvoiceInterface::getEmail public function Gets the invoice email. 1
InvoiceInterface::getFile public function Gets the invoice file. 1
InvoiceInterface::getInvoiceDateTime public function Gets the invoice date timestamp. 1
InvoiceInterface::getInvoiceNumber public function Gets the invoice number. 1
InvoiceInterface::getItems public function Gets the invoice items. 1
InvoiceInterface::getOrders public function Gets the invoice orders. 1
InvoiceInterface::getPaymentMethod public function Gets the payment method. 1
InvoiceInterface::getState public function Gets the invoice state. 1
InvoiceInterface::getSubtotalPrice public function Gets the invoice subtotal price. 1
InvoiceInterface::getTotalPaid public function Gets the total paid price. 1
InvoiceInterface::getTotalPrice public function Gets the invoice total price. 1
InvoiceInterface::hasItem public function Checks whether the invoice has a given invoice item. 1
InvoiceInterface::hasItems public function Gets whether the invoice has invoice items. 1
InvoiceInterface::isPaid public function Gets whether the invoice has been fully paid. 1
InvoiceInterface::recalculateTotalPrice public function Recalculates the invoice total price. 1
InvoiceInterface::removeItem public function Removes an invoice item. 1
InvoiceInterface::setBillingProfile public function Sets the billing profile. 1
InvoiceInterface::setCreatedTime public function Sets the invoice creation timestamp. 1
InvoiceInterface::setCustomer public function Sets the customer user. 1
InvoiceInterface::setCustomerId public function Sets the customer user ID. 1
InvoiceInterface::setData public function Sets an invoice data value with the given key. 1
InvoiceInterface::setDueDateTime public function Sets the invoice due date timestamp. 1
InvoiceInterface::setEmail public function Sets the invoice email. 1
InvoiceInterface::setFile public function Sets the invoice file (i.e the reference to the generated PDF file). 1
InvoiceInterface::setInvoiceDateTime public function Sets the invoice date timestamp. 1
InvoiceInterface::setInvoiceNumber public function Sets the invoice number. 1
InvoiceInterface::setItems public function Sets the invoice items. 1
InvoiceInterface::setOrders public function Sets the invoice orders. 1
InvoiceInterface::setPaymentMethod public function Sets the payment method. 1
InvoiceInterface::setTotalPaid public function Sets the total paid price. 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
RevisionableInterface::getLoadedRevisionId public function Gets the loaded Revision ID of the entity. 1
RevisionableInterface::getRevisionId public function Gets the revision identifier of the entity. 1
RevisionableInterface::isDefaultRevision public function Checks if this entity is the default revision. 1
RevisionableInterface::isLatestRevision public function Checks if this entity is the latest revision. 1
RevisionableInterface::isNewRevision public function Determines whether a new revision should be created on save. 1
RevisionableInterface::preSaveRevision public function Acts on a revision before it gets saved. 1
RevisionableInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 1
RevisionableInterface::updateLoadedRevisionId public function Updates the loaded Revision ID with the revision ID. 1
RevisionableInterface::wasDefaultRevision public function Checks whether the entity object was a default revision when it was saved. 1
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization. 1
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag. 1
TranslatableInterface::addTranslation public function Adds a new translation to the translatable object. 1
TranslatableInterface::getTranslation public function Gets a translation of the data. 1
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 1
TranslatableInterface::getUntranslated public function Returns the translatable object referring to the original language. 1
TranslatableInterface::hasTranslation public function Checks there is a translation for the given language code. 1
TranslatableInterface::hasTranslationChanges public function Determines if the current translation of the entity has unsaved changes. 1
TranslatableInterface::isDefaultTranslation public function Checks whether the translation is the default one. 1
TranslatableInterface::isNewTranslation public function Checks whether the translation is new. 1
TranslatableInterface::isTranslatable public function Returns the translation support status. 1
TranslatableInterface::removeTranslation public function Removes the translation identified by the given language code. 1
TranslatableRevisionableInterface::isDefaultTranslationAffectedOnly public function Checks if untranslatable fields should affect only the default translation. 1
TranslatableRevisionableInterface::isLatestTranslationAffectedRevision public function Checks whether this is the latest revision affecting this translation. 1
TranslatableRevisionableInterface::isRevisionTranslationAffected public function Checks whether the current translation is affected by the current revision. 1
TranslatableRevisionableInterface::isRevisionTranslationAffectedEnforced public function Checks if the revision translation affected flag value has been enforced. 1
TranslatableRevisionableInterface::setRevisionTranslationAffected public function Marks the current revision translation as affected. 1
TranslatableRevisionableInterface::setRevisionTranslationAffectedEnforced public function Enforces the revision translation affected flag value. 1