InvoiceToAccounting
extends AccountingClass
in package
Class for the generation of accounting entries of a sale/purchase document and the settlement of your receipts.
Tags
Table of Contents
- SPECIAL_CREDITOR_ACCOUNT = 'ACREED'
- SPECIAL_CUSTOMER_ACCOUNT = 'CLIENT'
- SPECIAL_EXPENSE_ACCOUNT = 'GTOBAN'
- SPECIAL_IRPF_PURCHASE_ACCOUNT = 'IRPFPR'
- SPECIAL_IRPF_SALES_ACCOUNT = 'IRPF'
- SPECIAL_NEGATIVE_PREV_ACCOUNT = 'PRENEG'
- SPECIAL_PAYMENT_ACCOUNT = 'CAJA'
- SPECIAL_POSITIVE_PREV_ACCOUNT = 'PREVIO'
- SPECIAL_PROFIT_LOSS_ACCOUNT = 'PYG'
- SPECIAL_SUPPLIER_ACCOUNT = 'PROVEE'
- SPECIAL_TAX_IMPACTED_ACCOUNT = 'IVAREP'
- SPECIAL_TAX_SUPPORTED_ACCOUNT = 'IVASOP'
- $exercise : Ejercicio
- $counterpart : Subcuenta
- $creation : AccountingCreation
- $document : FacturaCliente|FacturaProveedor
- $subtotals : array<string|int, mixed>
- Document Subtotals Lines array
- __construct() : mixed
- Class constructor
- generate() : mixed
- Method to launch the accounting process
- getCustomerAccount() : Subcuenta
- Get the accounting sub-account for the customer and the fiscal year.
- getCustomerGroupAccount() : Subcuenta
- Get the accounting sub-account for the group's customer and the fiscal year.
- getExpenseAccount() : Subcuenta
- Get the banking expenses sub-account for payments in the fiscal year.
- getIRPFPurchaseAccount() : Subcuenta
- Get the accounting sub-account for Purchase Retention.
- getIRPFSalesAccount() : Subcuenta
- Get the accounting sub-account for Sales Retention.
- getPaymentAccount() : Subcuenta
- Get the accounting sub-account for the payment method in the fiscal year.
- getSpecialAccount() : Cuenta
- Get the accounting account set as special.
- getSpecialSubAccount() : Subcuenta
- Get an accounting sub-account for the special type indicated If there is no, search within the group of accounts for the special type
- getSubAccount() : Subcuenta
- Get the indicated accounting sub-account.
- getSupplierAccount() : Subcuenta
- Get the accounting sub-account for the supplier and the fiscal year.
- getTaxImpactedAccount() : Subcuenta
- Get the accounting sub-account for Impacted Tax.
- getTaxSupportedAccount() : Subcuenta
- Get the accounting sub-account for Supported Tax.
- addBasicLine() : bool
- Add a standard line to the accounting entry based on the reported sub-account
- addCustomerLine() : bool
- Add the customer line to the accounting entry
- addGoodsPurchaseLine() : bool
- Add the goods purchase line to the accounting entry.
- addGoodsSalesLine() : bool
- Add the goods sales line to the accounting entry.
- addLinesFromTotals() : bool
- Add a group of lines from array of subaccounts/amount.
- addPurchaseIrpfLines() : bool
- addPurchaseSuppliedLines() : bool
- addPurchaseTaxLines() : bool
- Add the purchase line to the accounting entry
- addSalesIrpfLines() : bool
- addSalesSuppliedLines() : bool
- Add the supplied line to the accounting entry
- addSalesTaxLines() : bool
- Add the sales line to the accounting entry
- addSupplierLine() : bool
- addSurchargeLine() : bool
- Add a line of taxes to the accounting entry based on the sub-account and values reported
- addTaxLine() : bool
- Add a line of taxes to the accounting entry based on the sub-account and values reported
- getBasicLine() : Partida
- Obtain a standard line to the accounting entry based on the reported sub-account
- initialChecks() : bool
- Perform the initial checks to continue with the accounting process
- loadSubtotals() : bool
- purchaseAccountingEntry() : mixed
- Generate the accounting entry for a purchase document.
- salesAccountingEntry() : mixed
- Generate the accounting entry for a sales document.
- setAccountingData() : mixed
- Assign the document data to the accounting entry
- toolBox() : ToolBox
- getAccountFromCode() : Subcuenta
- Get the accounting sub-account according to the indicated code sub-account.
Constants
SPECIAL_CREDITOR_ACCOUNT
public
mixed
SPECIAL_CREDITOR_ACCOUNT
= 'ACREED'
SPECIAL_CUSTOMER_ACCOUNT
public
mixed
SPECIAL_CUSTOMER_ACCOUNT
= 'CLIENT'
SPECIAL_EXPENSE_ACCOUNT
public
mixed
SPECIAL_EXPENSE_ACCOUNT
= 'GTOBAN'
SPECIAL_IRPF_PURCHASE_ACCOUNT
public
mixed
SPECIAL_IRPF_PURCHASE_ACCOUNT
= 'IRPFPR'
SPECIAL_IRPF_SALES_ACCOUNT
public
mixed
SPECIAL_IRPF_SALES_ACCOUNT
= 'IRPF'
SPECIAL_NEGATIVE_PREV_ACCOUNT
public
mixed
SPECIAL_NEGATIVE_PREV_ACCOUNT
= 'PRENEG'
SPECIAL_PAYMENT_ACCOUNT
public
mixed
SPECIAL_PAYMENT_ACCOUNT
= 'CAJA'
SPECIAL_POSITIVE_PREV_ACCOUNT
public
mixed
SPECIAL_POSITIVE_PREV_ACCOUNT
= 'PREVIO'
SPECIAL_PROFIT_LOSS_ACCOUNT
public
mixed
SPECIAL_PROFIT_LOSS_ACCOUNT
= 'PYG'
SPECIAL_SUPPLIER_ACCOUNT
public
mixed
SPECIAL_SUPPLIER_ACCOUNT
= 'PROVEE'
SPECIAL_TAX_IMPACTED_ACCOUNT
public
mixed
SPECIAL_TAX_IMPACTED_ACCOUNT
= 'IVAREP'
SPECIAL_TAX_SUPPORTED_ACCOUNT
public
mixed
SPECIAL_TAX_SUPPORTED_ACCOUNT
= 'IVASOP'
Properties
$exercise
public
Ejercicio
$exercise
$counterpart
protected
Subcuenta
$counterpart
$creation
protected
AccountingCreation
$creation
$document
protected
FacturaCliente|FacturaProveedor
$document
$subtotals
Document Subtotals Lines array
protected
array<string|int, mixed>
$subtotals
Methods
__construct()
Class constructor
public
__construct() : mixed
Return values
mixed —generate()
Method to launch the accounting process
public
generate(FacturaCliente|FacturaProveedor $model) : mixed
Parameters
- $model : FacturaCliente|FacturaProveedor
Return values
mixed —getCustomerAccount()
Get the accounting sub-account for the customer and the fiscal year.
public
getCustomerAccount(Cliente &$customer[, string $specialAccount = self::SPECIAL_CUSTOMER_ACCOUNT ]) : Subcuenta
- First check the customer
- Second check the customer group
- Third search for the sub-account classified as a special account for customers
- Fourth search for the general account classified as a special account for customers and then search for a sub account belonging to the account
Parameters
- $customer : Cliente
- $specialAccount : string = self::SPECIAL_CUSTOMER_ACCOUNT
Return values
Subcuenta —getCustomerGroupAccount()
Get the accounting sub-account for the group's customer and the fiscal year.
public
getCustomerGroupAccount(GrupoClientes $group[, string $specialAccount = self::SPECIAL_CUSTOMER_ACCOUNT ]) : Subcuenta
Parameters
- $group : GrupoClientes
- $specialAccount : string = self::SPECIAL_CUSTOMER_ACCOUNT
Return values
Subcuenta —getExpenseAccount()
Get the banking expenses sub-account for payments in the fiscal year.
public
getExpenseAccount(string $codpago[, string $specialAccount = self::SPECIAL_EXPENSE_ACCOUNT ]) : Subcuenta
Parameters
- $codpago : string
- $specialAccount : string = self::SPECIAL_EXPENSE_ACCOUNT
Return values
Subcuenta —getIRPFPurchaseAccount()
Get the accounting sub-account for Purchase Retention.
public
getIRPFPurchaseAccount(Retencion $retention[, string $specialAccount = self::SPECIAL_IRPF_PURCHASE_ACCOUNT ]) : Subcuenta
Parameters
- $retention : Retencion
- $specialAccount : string = self::SPECIAL_IRPF_PURCHASE_ACCOUNT
Return values
Subcuenta —getIRPFSalesAccount()
Get the accounting sub-account for Sales Retention.
public
getIRPFSalesAccount(Retencion $retention[, string $specialAccount = self::SPECIAL_IRPF_SALES_ACCOUNT ]) : Subcuenta
Parameters
- $retention : Retencion
- $specialAccount : string = self::SPECIAL_IRPF_SALES_ACCOUNT
Return values
Subcuenta —getPaymentAccount()
Get the accounting sub-account for the payment method in the fiscal year.
public
getPaymentAccount(string $codpago[, string $specialAccount = self::SPECIAL_PAYMENT_ACCOUNT ]) : Subcuenta
Parameters
- $codpago : string
- $specialAccount : string = self::SPECIAL_PAYMENT_ACCOUNT
Return values
Subcuenta —getSpecialAccount()
Get the accounting account set as special.
public
getSpecialAccount(string $specialAccount) : Cuenta
Parameters
- $specialAccount : string
Return values
Cuenta —getSpecialSubAccount()
Get an accounting sub-account for the special type indicated If there is no, search within the group of accounts for the special type
public
getSpecialSubAccount(string $specialAccount) : Subcuenta
Parameters
- $specialAccount : string
Return values
Subcuenta —getSubAccount()
Get the indicated accounting sub-account.
public
getSubAccount(string $code) : Subcuenta
Parameters
- $code : string
Return values
Subcuenta —getSupplierAccount()
Get the accounting sub-account for the supplier and the fiscal year.
public
getSupplierAccount(Proveedor $supplier[, string $specialAccount = self::SPECIAL_SUPPLIER_ACCOUNT ]) : Subcuenta
If it does not exist, search for the sub-account associated with the special type indicated
Parameters
- $supplier : Proveedor
- $specialAccount : string = self::SPECIAL_SUPPLIER_ACCOUNT
Return values
Subcuenta —getTaxImpactedAccount()
Get the accounting sub-account for Impacted Tax.
public
getTaxImpactedAccount(Impuesto $tax[, string $specialAccount = self::SPECIAL_TAX_IMPACTED_ACCOUNT ]) : Subcuenta
Parameters
- $tax : Impuesto
- $specialAccount : string = self::SPECIAL_TAX_IMPACTED_ACCOUNT
Return values
Subcuenta —getTaxSupportedAccount()
Get the accounting sub-account for Supported Tax.
public
getTaxSupportedAccount(Impuesto $tax[, string $specialAccount = self::SPECIAL_TAX_SUPPORTED_ACCOUNT ]) : Subcuenta
Parameters
- $tax : Impuesto
- $specialAccount : string = self::SPECIAL_TAX_SUPPORTED_ACCOUNT
Return values
Subcuenta —addBasicLine()
Add a standard line to the accounting entry based on the reported sub-account
protected
addBasicLine(Asiento $accountEntry, Subcuenta $subaccount, bool $isDebit[, float $amount = null ]) : bool
Parameters
Return values
bool —addCustomerLine()
Add the customer line to the accounting entry
protected
addCustomerLine(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addGoodsPurchaseLine()
Add the goods purchase line to the accounting entry.
protected
addGoodsPurchaseLine(Asiento $entry) : bool
Make one line for each product/family purchase subaccount.
Parameters
- $entry : Asiento
Return values
bool —addGoodsSalesLine()
Add the goods sales line to the accounting entry.
protected
addGoodsSalesLine(Asiento $entry) : bool
Make one line for each product/family sale subaccount.
Parameters
- $entry : Asiento
Return values
bool —addLinesFromTotals()
Add a group of lines from array of subaccounts/amount.
protected
addLinesFromTotals(Asiento $accountEntry, array<string|int, mixed> $totals, bool $isDebit, Subcuenta $counterpart, string $accountError, string $saveError) : bool
Parameters
- $accountEntry : Asiento
- $totals : array<string|int, mixed>
- $isDebit : bool
- $counterpart : Subcuenta
- $accountError : string
- $saveError : string
Return values
bool —addPurchaseIrpfLines()
protected
addPurchaseIrpfLines(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addPurchaseSuppliedLines()
protected
addPurchaseSuppliedLines(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addPurchaseTaxLines()
Add the purchase line to the accounting entry
protected
addPurchaseTaxLines(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addSalesIrpfLines()
protected
addSalesIrpfLines(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addSalesSuppliedLines()
Add the supplied line to the accounting entry
protected
addSalesSuppliedLines(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addSalesTaxLines()
Add the sales line to the accounting entry
protected
addSalesTaxLines(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addSupplierLine()
protected
addSupplierLine(Asiento $entry) : bool
Parameters
- $entry : Asiento
Return values
bool —addSurchargeLine()
Add a line of taxes to the accounting entry based on the sub-account and values reported
protected
addSurchargeLine(Asiento $accountEntry, Subcuenta $subaccount, Subcuenta $counterpart, bool $isDebit, array<string|int, mixed> $values) : bool
Parameters
- $accountEntry : Asiento
- $subaccount : Subcuenta
- $counterpart : Subcuenta
- $isDebit : bool
- $values : array<string|int, mixed>
Return values
bool —addTaxLine()
Add a line of taxes to the accounting entry based on the sub-account and values reported
protected
addTaxLine(Asiento $accountEntry, Subcuenta $subaccount, Subcuenta $counterpart, bool $isDebit, array<string|int, mixed> $values) : bool
Parameters
- $accountEntry : Asiento
- $subaccount : Subcuenta
- $counterpart : Subcuenta
- $isDebit : bool
- $values : array<string|int, mixed>
Return values
bool —getBasicLine()
Obtain a standard line to the accounting entry based on the reported sub-account
protected
getBasicLine(Asiento $accountEntry, Subcuenta $subaccount, bool $isDebit[, float $amount = null ]) : Partida
Parameters
Return values
Partida —initialChecks()
Perform the initial checks to continue with the accounting process
protected
initialChecks() : bool
Return values
bool —loadSubtotals()
protected
loadSubtotals() : bool
Return values
bool —purchaseAccountingEntry()
Generate the accounting entry for a purchase document.
protected
purchaseAccountingEntry() : mixed
Return values
mixed —salesAccountingEntry()
Generate the accounting entry for a sales document.
protected
salesAccountingEntry() : mixed
Return values
mixed —setAccountingData()
Assign the document data to the accounting entry
protected
setAccountingData(Asiento &$entry, string $concept) : mixed
Parameters
- $entry : Asiento
- $concept : string
Return values
mixed —toolBox()
protected
toolBox() : ToolBox
Tags
Return values
ToolBox —getAccountFromCode()
Get the accounting sub-account according to the indicated code sub-account.
private
getAccountFromCode(string $code, string $specialAccount) : Subcuenta
- First check the tax
- Second check the special account
Parameters
- $code : string
- $specialAccount : string