Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,19 @@ parameters:
identifier: class.notFound
count: 1
path: src/Picqer/Financials/Exact/BulkGoodsDeliveryLine.php

-
message: '#^PHPDoc tag @property for property Picqer\\Financials\\Exact\\Expenses\:\:\$ExpenseLines contains unknown class Picqer\\Financials\\Exact\\ExpenseLine\.$#'
identifier: class.notFound
count: 1
path: src/Picqer/Financials/Exact/Expenses.php

-
message: '#^PHPDoc tag @property for property Picqer\\Financials\\Exact\\Expenses\:\:\$Waypoints contains unknown class Picqer\\Financials\\Exact\\Waypoint\.$#'
identifier: class.notFound
count: 1
path: src/Picqer/Financials/Exact/Expenses.php

-
message: '#^PHPDoc tag @property for property Picqer\\Financials\\Exact\\ReasonForLogistic\:\:\$Types contains unknown class Picqer\\Financials\\Exact\\Type\.$#'
identifier: class.notFound
Expand Down
2 changes: 2 additions & 0 deletions src/Picqer/Financials/Exact/AcceptQuotation.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
* @property string $ErrorMessage Contains the error message if an error occurred during the acception of the quotation.
* @property string $InvoiceJournal The journal in which the sales invoice will be booked. Mandatory for Action = 2.
* @property string $NotificationLayout Based on this layout the notification email is sent. In case it is not specified, then no email is sent.
* @property string $OpportunityStage The stage of the linked opportunity after accepting the quotation.
* @property OptionalQuotationLineID[] $OptionalQuotationLineIDs Collection of optional quotation line IDs.
* @property int $ProjectBudgetType The budget type of the project that will be created. Default = 0.
* @property string $ProjectClassification The ID of the project classification.
Expand Down Expand Up @@ -57,6 +58,7 @@ class AcceptQuotation extends Model
'ErrorMessage',
'InvoiceJournal',
'NotificationLayout',
'OpportunityStage',
'OptionalQuotationLineIDs',
'ProjectBudgetType',
'ProjectClassification',
Expand Down
4 changes: 3 additions & 1 deletion src/Picqer/Financials/Exact/Account.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
* @property string $CustomField Custom field endpoint. Provided only for the Exact Online Premium users.
* @property string $DatevCreditorCode DATEV creditor code for Germany legislation
* @property string $DatevDebtorCode DATEV debtor code for Germany legislation
* @property int $DeliveryAdvice Indicates how deliveries are handled. Values: 0 = Partial, orders can be delivered partial, 1 = Complete the order needs to be complete to deliver, 2 = Partial without backorder when deliver partially the remainder of the order is completed without delivery
* @property float $DiscountPurchase Default discount percentage for purchase. This is stored as a fraction. ie 5.5% is stored as .055
* @property float $DiscountSales Default discount percentage for sales. This is stored as a fraction. ie 5.5% is stored as .055
* @property int $Division Division code
Expand Down Expand Up @@ -80,7 +81,7 @@
* @property string $InvoiceAccountCode Code of InvoiceAccount
* @property string $InvoiceAccountName Name of InvoiceAccount
* @property int $InvoiceAttachmentType Indicates which attachment types should be sent when a sales invoice is printed. Only values in related table with Invoice=1 are allowed
* @property int $InvoicingMethod Method of sending for sales invoices. Values: 1: Paper, 2: EMail, 4: Mailbox (electronic exchange), 8: Send and trackTake notes: To use the '4 - Mailbox (electronic exchange)' option, the 'Mailbox' feature set is required in the licence.
* @property int $InvoicingMethod Method of sending for sales invoices. Values: 1: Paper, 2: EMail, 4: Mailbox (electronic exchange), 8: Send and track, 32: Send via PeppolTake notes: To use the '4 - Mailbox (electronic exchange)' option, the 'Mailbox' feature set is required in the licence. To use the '32 - Send via Peppol' option, e-invoicing via Peppol must be activated
* @property int $IsAccountant Indicates whether the account is an accountant. Values: 0 = No accountant, 1 = True, but accountant doesn't want his name to be published in the list of accountants, 2 = True, and accountant is published in the list of accountants
* @property int $IsAgency Indicates whether the accounti is an agency
* @property int $IsAnonymised Indicates whtether the account is anonymised.
Expand Down Expand Up @@ -198,6 +199,7 @@ class Account extends Model
'CustomField',
'DatevCreditorCode',
'DatevDebtorCode',
'DeliveryAdvice',
'DiscountPurchase',
'DiscountSales',
'Division',
Expand Down
2 changes: 1 addition & 1 deletion src/Picqer/Financials/Exact/AssemblyOrder.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
* @property string $OrderDate Date of the assembly order is initiated
* @property int $OrderNumber Assembly order number
* @property int $OrderStatus Assembly order status: 20 = Open, 30 = Partial, 50 = Complete
* @property mixed[] $PartItems Collection of part items for assembly order
* @property mixed $PartItems Collection of part items for assembly order
* @property float $PlannedQuantity Planned quantity of the item to be assembled
* @property string $StorageLocation Reference to storage location
* @property string $StorageLocationCode Storage location code
Expand Down
12 changes: 6 additions & 6 deletions src/Picqer/Financials/Exact/CustomField.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,25 @@
*
* @see https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=CustomFieldCustomFields
*
* @property string $LinkId Entity id
* @property string $PropertyName Custom business property name
* @property string $BusinessComponentName Business component name
* @property string $Caption Custom field description
* @property string $PropertyName Custom business property name
* @property string $RefersTo The name of the referencing entity. The supported values are Item, Account, Project, Opportunity, SalesOrder, Contact, User, Employee, Document and Team
* @property string $LinkId Entity id
* @property string $RefersTo The name of the referencing entity. The supported values are Item, Account, Project, Opportunity, SalesOrder, Contact, User, Employee, Document, Team, CostUnit, CostCenter and Journal
* @property string $Type Represents the data type of the custom field. The supported datatypes are boolean, integer, string, double, date and GUID
* @property string $Value Custom field data
*/
class CustomField extends Model
{
use Query\Findable;

protected $primaryKey = 'LinkId';
protected $primaryKey = 'PropertyName';

protected $fillable = [
'LinkId',
'PropertyName',
'BusinessComponentName',
'Caption',
'PropertyName',
'LinkId',
'RefersTo',
'Type',
'Value',
Expand Down
6 changes: 4 additions & 2 deletions src/Picqer/Financials/Exact/Document.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @property string $Account ID of the related account of this document
* @property string $AccountCode Code of Account
* @property string $AccountName Name of Account
* @property bool $ActionRegenerateEntryProposal ActionRegenerateEntryProposal
* @property float $AmountFC Amount in the currency of the transaction
* @property string $Body Body of this document
* @property string $Category ID of the category of this document
Expand All @@ -29,6 +30,7 @@
* @property string $DocumentFolderCode The Code of document folder
* @property string $DocumentFolderDescription The Decsription of document folder
* @property string $DocumentViewUrl Url to view the document
* @property string $EntryStatusDescription EntryStatusDescription
* @property string $ExpiryDate Expiry date of this document
* @property string $FinancialTransactionEntryID Reference to the transaction lines of the financial entry. For a document of type sales invoice it will return the InvoiceID of the sales invoice (SalesInvoices API).
* @property bool $HasEmptyBody Indicates that the document body is empty
Expand All @@ -48,7 +50,6 @@
* @property int $ProposedEntryStatus ProposedEntryStatus, 0 = Void, 5 = Rejected, 20 = Open, 50 = Processed
* @property int $SalesInvoiceNumber 'Our reference' of the transaction that belongs to this document
* @property int $SalesOrderNumber Number of the sales order
* @property int $ScanServiceStatus ScanServiceStatus
* @property int $SendMethod Send method
* @property int $ShopOrderNumber Number of the shop order
* @property string $Subject Subject of this document
Expand All @@ -66,6 +67,7 @@ class Document extends Model
'Account',
'AccountCode',
'AccountName',
'ActionRegenerateEntryProposal',
'AmountFC',
'Body',
'Category',
Expand All @@ -84,6 +86,7 @@ class Document extends Model
'DocumentFolderCode',
'DocumentFolderDescription',
'DocumentViewUrl',
'EntryStatusDescription',
'ExpiryDate',
'FinancialTransactionEntryID',
'HasEmptyBody',
Expand All @@ -103,7 +106,6 @@ class Document extends Model
'ProposedEntryStatus',
'SalesInvoiceNumber',
'SalesOrderNumber',
'ScanServiceStatus',
'SendMethod',
'ShopOrderNumber',
'Subject',
Expand Down
2 changes: 2 additions & 0 deletions src/Picqer/Financials/Exact/Employee.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
* @property string $SocialSecurityNumber Social security numberNote: The value is only returned if user has any of the following roles: View userEnter variable payroll mutationsManage employeesAnonymise employee and userView personal information Of employees
* @property string $StartDate Start date of the employee
* @property string $State StateNote: The value is only returned if user has any of the following roles: View userEnter variable payroll mutationsManage employeesAnonymise employee and userView personal information Of employees
* @property string $TaxIdentificationNumber Tax identification numberNote: The value is only returned if user has any of the following roles: View userEnter variable payroll mutationsManage employeesAnonymise employee and userView personal information Of employees
* @property string $Title Title
* @property string $User User ID of employee
* @property string $UserFullName Name of user
Expand Down Expand Up @@ -142,6 +143,7 @@ class Employee extends Model
'SocialSecurityNumber',
'StartDate',
'State',
'TaxIdentificationNumber',
'Title',
'User',
'UserFullName',
Expand Down
82 changes: 82 additions & 0 deletions src/Picqer/Financials/Exact/ExpenseReport.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?php

namespace Picqer\Financials\Exact;

/**
* Class ExpenseReport.
*
* @see https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=ExpenseManagementExpenseReports
*
* @property string $ID Primary key
* @property string $ApprovedDate Date when the expense report was approved
* @property string $Approver User who approved the expense report
* @property string $ApproverComment Additional approver comment
* @property string $ApproverFullName Name of the user who approved the expense report
* @property string $Claimant The claimant (employee) who owns this expense report
* @property string $ClaimantFullName Name of the claimant
* @property string $ControlledDate Date when the expense report was controlled
* @property string $Controller User who controlled the expense report
* @property string $ControllerFullName Name of the user who controlled the expense report
* @property string $Created Date when the expense report was created
* @property string $Creator User ID of the creator
* @property string $CreatorFullName Name of the creator
* @property string $Currency Currency code of the expense report
* @property string $Description Description of the expense report
* @property int $Division The division to which the expense report belongs
* @property int $ExpenseCount Number of expense items in the report
* @property string $Modified Date when the expense report was last modified
* @property string $Modifier User ID of the modifier
* @property string $ModifierFullName Name of the modifier
* @property string $Notes Notes on the expense report
* @property string $RejectedDate Date when the expense report was rejected
* @property string $Rejecter User who rejected the expense report
* @property string $RejecterFullName Name of the user who rejected the expense report
* @property int $ReportNumber The expense report number
* @property int $Status Status of the expense report: 1 = Not reviewed, 2 = Submitted, 3 = Approved, 4 = Rejected, 5 = Finance Approved, 6 = Processed
* @property string $StatusDescription Status description of the expense report
* @property string $SubmittedDate Date when the expense report was submitted
* @property string $Submitter User who submitted the expense report
* @property string $SubmitterFullName Name of the user who submitted the expense report
* @property float $TotalAmountDC Total amount of the expense report in division currency
*/
class ExpenseReport extends Model
{
use Query\Findable;
use Persistance\Storable;

protected $fillable = [
'ID',
'ApprovedDate',
'Approver',
'ApproverComment',
'ApproverFullName',
'Claimant',
'ClaimantFullName',
'ControlledDate',
'Controller',
'ControllerFullName',
'Created',
'Creator',
'CreatorFullName',
'Currency',
'Description',
'Division',
'ExpenseCount',
'Modified',
'Modifier',
'ModifierFullName',
'Notes',
'RejectedDate',
'Rejecter',
'RejecterFullName',
'ReportNumber',
'Status',
'StatusDescription',
'SubmittedDate',
'Submitter',
'SubmitterFullName',
'TotalAmountDC',
];

protected $url = 'expensemanagement/ExpenseReports';
}
92 changes: 92 additions & 0 deletions src/Picqer/Financials/Exact/Expenses.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?php

namespace Picqer\Financials\Exact;

/**
* Class Expenses.
*
* @see https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=ExpenseManagementExpenses
*
* @property string $ID Expense ID
* @property string $ApproverComment Approver comment (alternative field)
* @property string $Category Category of the expense
* @property string $CategoryDescription Category description
* @property string $Claimant User who made the expense
* @property string $ClaimantFullName Full name of the user who made the expense
* @property string $Country Country code (3 characters)
* @property string $Currency Currency code (3 characters)
* @property string $Description Description of the expense
* @property string $Distance Distance (for mileage expenses)
* @property int $Division Division expense belong to
* @property string $ExpenseDate Date of the expense
* @property ExpenseLine[] $ExpenseLines Expense lines for Receipt expenses (split amounts)
* @property int $ExpenseNumber Expense number - auto-generated
* @property int $ExpenseType Expense type: 1=Receipts, 2=Mileage, 3=Per Diem
* @property string $ExpenseTypeDescription Expense type description
* @property int $PaymentMethod Payment method (0:Others , 1=Company Credit Card)
* @property string $PerDiemRateAmount Per diem rate amount
* @property string $Project Project associated with the expense
* @property string $ProjectDescription Project description
* @property int $Quantity Quantity
* @property float $RateFC Rate in foreign currency
* @property string $Report Associated expense report
* @property string $ReportDescription Expense report description
* @property int $Status Status: 1=Not reviewed, 2=Reviewed, 3=Flagged
* @property string $StatusDescription Status description
* @property string $SysCreated Created date
* @property string $SysCreator Creator
* @property string $SysCreatorFullName Creator full name
* @property string $SysModified Modified date
* @property string $SysModifier Modifier
* @property string $SysModifierFullName Modifier full name
* @property float $TotalAmountDC Total amount in division currency
* @property float $TotalAmountFC Total amount in foreign currency
* @property string $Vendor Vendor name
* @property Waypoint[] $Waypoints Waypoints for Mileage expenses (route tracking)
*/
class Expenses extends Model
{
use Query\Findable;
use Persistance\Storable;

protected $fillable = [
'ID',
'ApproverComment',
'Category',
'CategoryDescription',
'Claimant',
'ClaimantFullName',
'Country',
'Currency',
'Description',
'Distance',
'Division',
'ExpenseDate',
'ExpenseLines',
'ExpenseNumber',
'ExpenseType',
'ExpenseTypeDescription',
'PaymentMethod',
'PerDiemRateAmount',
'Project',
'ProjectDescription',
'Quantity',
'RateFC',
'Report',
'ReportDescription',
'Status',
'StatusDescription',
'SysCreated',
'SysCreator',
'SysCreatorFullName',
'SysModified',
'SysModifier',
'SysModifierFullName',
'TotalAmountDC',
'TotalAmountFC',
'Vendor',
'Waypoints',
];

protected $url = 'expensemanagement/Expenses';
}
2 changes: 1 addition & 1 deletion src/Picqer/Financials/Exact/Project.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
* @property bool $BlockRebilling Block rebilling
* @property float $BudgetedAmount Budgeted amount of sales in the default currency of the company
* @property float $BudgetedCosts Budgeted amount of costs in the default currency of the company
* @property ProjectHourBudget[] $BudgetedHoursPerHourType Collection of budgeted hours
* @property ProjectHourBudget $BudgetedHoursPerHourType Collection of budgeted hours
* @property float $BudgetedRevenue Budgeted amount of revenue in the default currency of the company
* @property int $BudgetOverrunHours BudgetOverrunHours: 10-Allowed, 20-Not Allowed
* @property int $BudgetType Budget type
Expand Down
2 changes: 2 additions & 0 deletions src/Picqer/Financials/Exact/RejectQuotation.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* @property int $Division Division code.
* @property string $ErrorMessage Contains the error message if an error occurred during the rejection of the quotation.
* @property string $NotificationLayout Based on this layout the notification email is sent. In case it is not specified, then no email is sent.
* @property string $OpportunityStage The stage of the linked opportunity after rejecting the quotation.
* @property string $ReasonCode Reason why the quotation was rejected.
* @property string $SuccessMessage Contains information if the quotation was successfully rejected.
*/
Expand All @@ -26,6 +27,7 @@ class RejectQuotation extends Model
'Division',
'ErrorMessage',
'NotificationLayout',
'OpportunityStage',
'ReasonCode',
'SuccessMessage',
];
Expand Down
4 changes: 2 additions & 2 deletions src/Picqer/Financials/Exact/ShopOrderMaterialPlan.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
* @property float $PlannedQuantityFactor Intended quantity of the material per unit excluding waste
* @property string $RoutingStepID ID of the routing step.
* @property string $ShopOrder Reference to ShopOrders table
* @property int $Status Line status
* @property int $Status Line status: 5 = Draft, 10 = Open, 20 = On order, 25 = Partial, 30 = Finished
* @property string $StatusDescription Description of Status
* @property int $Type Type
* @property int $Type Type: 1 = Material, 2 = By-product
* @property string $Unit Unit
* @property string $UnitDescription Unit description
* @property float $WastePercentage Waste percentage must be null or integer from 1 to 9999 (only available in Manufacturing Professional and Premium)
Expand Down
4 changes: 2 additions & 2 deletions src/Picqer/Financials/Exact/ShopOrderMaterialPlanDetail.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@
* @property string $RoutingStepID ID of the routing step.
* @property string $ShopOrder Reference to ShopOrders table
* @property int $ShopOrderNumber Shop order number
* @property int $Status Line status
* @property int $Status Line status: 5 = Draft, 10 = Open, 20 = On order, 25 = Partial, 30 = Finished
* @property string $StatusDescription Description of Status
* @property float $Stock Number of items in stock
* @property ItemWarehouseStorageLocation[] $StockLocations Collection of Manufacturing stock locations
* @property string $SubShopOrder ID of the shop order linked to this material
* @property int $SubShopOrderNumber Number of the shop order linked to this material
* @property int $Type Type
* @property int $Type Type: 1 = Material, 2 = By-product
* @property string $Unit Unit
* @property string $UnitDescription Unit description
* @property string $Warehouse Shop order warehouse
Expand Down
Loading