Skip to content

Commit 8b35057

Browse files
authored
Merge pull request #688 from DannyvdSluijs/chore/update-models-from-documentation-2025-12-10
chore: update models from documentation 2025-12-10
2 parents a76e6c7 + d5b5a81 commit 8b35057

26 files changed

+487
-32
lines changed

phpstan-baseline.neon

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@ parameters:
1717
identifier: class.notFound
1818
count: 1
1919
path: src/Picqer/Financials/Exact/BulkGoodsDeliveryLine.php
20+
21+
-
22+
message: '#^PHPDoc tag @property for property Picqer\\Financials\\Exact\\Expenses\:\:\$ExpenseLines contains unknown class Picqer\\Financials\\Exact\\ExpenseLine\.$#'
23+
identifier: class.notFound
24+
count: 1
25+
path: src/Picqer/Financials/Exact/Expenses.php
26+
27+
-
28+
message: '#^PHPDoc tag @property for property Picqer\\Financials\\Exact\\Expenses\:\:\$Waypoints contains unknown class Picqer\\Financials\\Exact\\Waypoint\.$#'
29+
identifier: class.notFound
30+
count: 1
31+
path: src/Picqer/Financials/Exact/Expenses.php
32+
2033
-
2134
message: '#^PHPDoc tag @property for property Picqer\\Financials\\Exact\\ReasonForLogistic\:\:\$Types contains unknown class Picqer\\Financials\\Exact\\Type\.$#'
2235
identifier: class.notFound

src/Picqer/Financials/Exact/AcceptQuotation.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
* @property string $ErrorMessage Contains the error message if an error occurred during the acception of the quotation.
1717
* @property string $InvoiceJournal The journal in which the sales invoice will be booked. Mandatory for Action = 2.
1818
* @property string $NotificationLayout Based on this layout the notification email is sent. In case it is not specified, then no email is sent.
19+
* @property string $OpportunityStage The stage of the linked opportunity after accepting the quotation.
1920
* @property OptionalQuotationLineID[] $OptionalQuotationLineIDs Collection of optional quotation line IDs.
2021
* @property int $ProjectBudgetType The budget type of the project that will be created. Default = 0.
2122
* @property string $ProjectClassification The ID of the project classification.
@@ -57,6 +58,7 @@ class AcceptQuotation extends Model
5758
'ErrorMessage',
5859
'InvoiceJournal',
5960
'NotificationLayout',
61+
'OpportunityStage',
6062
'OptionalQuotationLineIDs',
6163
'ProjectBudgetType',
6264
'ProjectClassification',

src/Picqer/Financials/Exact/Account.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
* @property string $CustomField Custom field endpoint. Provided only for the Exact Online Premium users.
4949
* @property string $DatevCreditorCode DATEV creditor code for Germany legislation
5050
* @property string $DatevDebtorCode DATEV debtor code for Germany legislation
51+
* @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
5152
* @property float $DiscountPurchase Default discount percentage for purchase. This is stored as a fraction. ie 5.5% is stored as .055
5253
* @property float $DiscountSales Default discount percentage for sales. This is stored as a fraction. ie 5.5% is stored as .055
5354
* @property int $Division Division code
@@ -80,7 +81,7 @@
8081
* @property string $InvoiceAccountCode Code of InvoiceAccount
8182
* @property string $InvoiceAccountName Name of InvoiceAccount
8283
* @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
83-
* @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.
84+
* @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
8485
* @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
8586
* @property int $IsAgency Indicates whether the accounti is an agency
8687
* @property int $IsAnonymised Indicates whtether the account is anonymised.
@@ -198,6 +199,7 @@ class Account extends Model
198199
'CustomField',
199200
'DatevCreditorCode',
200201
'DatevDebtorCode',
202+
'DeliveryAdvice',
201203
'DiscountPurchase',
202204
'DiscountSales',
203205
'Division',

src/Picqer/Financials/Exact/AssemblyOrder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* @property string $OrderDate Date of the assembly order is initiated
2121
* @property int $OrderNumber Assembly order number
2222
* @property int $OrderStatus Assembly order status: 20 = Open, 30 = Partial, 50 = Complete
23-
* @property mixed[] $PartItems Collection of part items for assembly order
23+
* @property mixed $PartItems Collection of part items for assembly order
2424
* @property float $PlannedQuantity Planned quantity of the item to be assembled
2525
* @property string $StorageLocation Reference to storage location
2626
* @property string $StorageLocationCode Storage location code

src/Picqer/Financials/Exact/CustomField.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,25 @@
77
*
88
* @see https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=CustomFieldCustomFields
99
*
10-
* @property string $LinkId Entity id
10+
* @property string $PropertyName Custom business property name
1111
* @property string $BusinessComponentName Business component name
1212
* @property string $Caption Custom field description
13-
* @property string $PropertyName Custom business property name
14-
* @property string $RefersTo The name of the referencing entity. The supported values are Item, Account, Project, Opportunity, SalesOrder, Contact, User, Employee, Document and Team
13+
* @property string $LinkId Entity id
14+
* @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
1515
* @property string $Type Represents the data type of the custom field. The supported datatypes are boolean, integer, string, double, date and GUID
1616
* @property string $Value Custom field data
1717
*/
1818
class CustomField extends Model
1919
{
2020
use Query\Findable;
2121

22-
protected $primaryKey = 'LinkId';
22+
protected $primaryKey = 'PropertyName';
2323

2424
protected $fillable = [
25-
'LinkId',
25+
'PropertyName',
2626
'BusinessComponentName',
2727
'Caption',
28-
'PropertyName',
28+
'LinkId',
2929
'RefersTo',
3030
'Type',
3131
'Value',

src/Picqer/Financials/Exact/Document.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
* @property string $Account ID of the related account of this document
1212
* @property string $AccountCode Code of Account
1313
* @property string $AccountName Name of Account
14+
* @property bool $ActionRegenerateEntryProposal ActionRegenerateEntryProposal
1415
* @property float $AmountFC Amount in the currency of the transaction
1516
* @property string $Body Body of this document
1617
* @property string $Category ID of the category of this document
@@ -29,6 +30,7 @@
2930
* @property string $DocumentFolderCode The Code of document folder
3031
* @property string $DocumentFolderDescription The Decsription of document folder
3132
* @property string $DocumentViewUrl Url to view the document
33+
* @property string $EntryStatusDescription EntryStatusDescription
3234
* @property string $ExpiryDate Expiry date of this document
3335
* @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).
3436
* @property bool $HasEmptyBody Indicates that the document body is empty
@@ -48,7 +50,6 @@
4850
* @property int $ProposedEntryStatus ProposedEntryStatus, 0 = Void, 5 = Rejected, 20 = Open, 50 = Processed
4951
* @property int $SalesInvoiceNumber 'Our reference' of the transaction that belongs to this document
5052
* @property int $SalesOrderNumber Number of the sales order
51-
* @property int $ScanServiceStatus ScanServiceStatus
5253
* @property int $SendMethod Send method
5354
* @property int $ShopOrderNumber Number of the shop order
5455
* @property string $Subject Subject of this document
@@ -66,6 +67,7 @@ class Document extends Model
6667
'Account',
6768
'AccountCode',
6869
'AccountName',
70+
'ActionRegenerateEntryProposal',
6971
'AmountFC',
7072
'Body',
7173
'Category',
@@ -84,6 +86,7 @@ class Document extends Model
8486
'DocumentFolderCode',
8587
'DocumentFolderDescription',
8688
'DocumentViewUrl',
89+
'EntryStatusDescription',
8790
'ExpiryDate',
8891
'FinancialTransactionEntryID',
8992
'HasEmptyBody',
@@ -103,7 +106,6 @@ class Document extends Model
103106
'ProposedEntryStatus',
104107
'SalesInvoiceNumber',
105108
'SalesOrderNumber',
106-
'ScanServiceStatus',
107109
'SendMethod',
108110
'ShopOrderNumber',
109111
'Subject',

src/Picqer/Financials/Exact/Employee.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
* @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
7171
* @property string $StartDate Start date of the employee
7272
* @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
73+
* @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
7374
* @property string $Title Title
7475
* @property string $User User ID of employee
7576
* @property string $UserFullName Name of user
@@ -142,6 +143,7 @@ class Employee extends Model
142143
'SocialSecurityNumber',
143144
'StartDate',
144145
'State',
146+
'TaxIdentificationNumber',
145147
'Title',
146148
'User',
147149
'UserFullName',
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<?php
2+
3+
namespace Picqer\Financials\Exact;
4+
5+
/**
6+
* Class ExpenseReport.
7+
*
8+
* @see https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=ExpenseManagementExpenseReports
9+
*
10+
* @property string $ID Primary key
11+
* @property string $ApprovedDate Date when the expense report was approved
12+
* @property string $Approver User who approved the expense report
13+
* @property string $ApproverComment Additional approver comment
14+
* @property string $ApproverFullName Name of the user who approved the expense report
15+
* @property string $Claimant The claimant (employee) who owns this expense report
16+
* @property string $ClaimantFullName Name of the claimant
17+
* @property string $ControlledDate Date when the expense report was controlled
18+
* @property string $Controller User who controlled the expense report
19+
* @property string $ControllerFullName Name of the user who controlled the expense report
20+
* @property string $Created Date when the expense report was created
21+
* @property string $Creator User ID of the creator
22+
* @property string $CreatorFullName Name of the creator
23+
* @property string $Currency Currency code of the expense report
24+
* @property string $Description Description of the expense report
25+
* @property int $Division The division to which the expense report belongs
26+
* @property int $ExpenseCount Number of expense items in the report
27+
* @property string $Modified Date when the expense report was last modified
28+
* @property string $Modifier User ID of the modifier
29+
* @property string $ModifierFullName Name of the modifier
30+
* @property string $Notes Notes on the expense report
31+
* @property string $RejectedDate Date when the expense report was rejected
32+
* @property string $Rejecter User who rejected the expense report
33+
* @property string $RejecterFullName Name of the user who rejected the expense report
34+
* @property int $ReportNumber The expense report number
35+
* @property int $Status Status of the expense report: 1 = Not reviewed, 2 = Submitted, 3 = Approved, 4 = Rejected, 5 = Finance Approved, 6 = Processed
36+
* @property string $StatusDescription Status description of the expense report
37+
* @property string $SubmittedDate Date when the expense report was submitted
38+
* @property string $Submitter User who submitted the expense report
39+
* @property string $SubmitterFullName Name of the user who submitted the expense report
40+
* @property float $TotalAmountDC Total amount of the expense report in division currency
41+
*/
42+
class ExpenseReport extends Model
43+
{
44+
use Query\Findable;
45+
use Persistance\Storable;
46+
47+
protected $fillable = [
48+
'ID',
49+
'ApprovedDate',
50+
'Approver',
51+
'ApproverComment',
52+
'ApproverFullName',
53+
'Claimant',
54+
'ClaimantFullName',
55+
'ControlledDate',
56+
'Controller',
57+
'ControllerFullName',
58+
'Created',
59+
'Creator',
60+
'CreatorFullName',
61+
'Currency',
62+
'Description',
63+
'Division',
64+
'ExpenseCount',
65+
'Modified',
66+
'Modifier',
67+
'ModifierFullName',
68+
'Notes',
69+
'RejectedDate',
70+
'Rejecter',
71+
'RejecterFullName',
72+
'ReportNumber',
73+
'Status',
74+
'StatusDescription',
75+
'SubmittedDate',
76+
'Submitter',
77+
'SubmitterFullName',
78+
'TotalAmountDC',
79+
];
80+
81+
protected $url = 'expensemanagement/ExpenseReports';
82+
}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
<?php
2+
3+
namespace Picqer\Financials\Exact;
4+
5+
/**
6+
* Class Expenses.
7+
*
8+
* @see https://start.exactonline.nl/docs/HlpRestAPIResourcesDetails.aspx?name=ExpenseManagementExpenses
9+
*
10+
* @property string $ID Expense ID
11+
* @property string $ApproverComment Approver comment (alternative field)
12+
* @property string $Category Category of the expense
13+
* @property string $CategoryDescription Category description
14+
* @property string $Claimant User who made the expense
15+
* @property string $ClaimantFullName Full name of the user who made the expense
16+
* @property string $Country Country code (3 characters)
17+
* @property string $Currency Currency code (3 characters)
18+
* @property string $Description Description of the expense
19+
* @property string $Distance Distance (for mileage expenses)
20+
* @property int $Division Division expense belong to
21+
* @property string $ExpenseDate Date of the expense
22+
* @property ExpenseLine[] $ExpenseLines Expense lines for Receipt expenses (split amounts)
23+
* @property int $ExpenseNumber Expense number - auto-generated
24+
* @property int $ExpenseType Expense type: 1=Receipts, 2=Mileage, 3=Per Diem
25+
* @property string $ExpenseTypeDescription Expense type description
26+
* @property int $PaymentMethod Payment method (0:Others , 1=Company Credit Card)
27+
* @property string $PerDiemRateAmount Per diem rate amount
28+
* @property string $Project Project associated with the expense
29+
* @property string $ProjectDescription Project description
30+
* @property int $Quantity Quantity
31+
* @property float $RateFC Rate in foreign currency
32+
* @property string $Report Associated expense report
33+
* @property string $ReportDescription Expense report description
34+
* @property int $Status Status: 1=Not reviewed, 2=Reviewed, 3=Flagged
35+
* @property string $StatusDescription Status description
36+
* @property string $SysCreated Created date
37+
* @property string $SysCreator Creator
38+
* @property string $SysCreatorFullName Creator full name
39+
* @property string $SysModified Modified date
40+
* @property string $SysModifier Modifier
41+
* @property string $SysModifierFullName Modifier full name
42+
* @property float $TotalAmountDC Total amount in division currency
43+
* @property float $TotalAmountFC Total amount in foreign currency
44+
* @property string $Vendor Vendor name
45+
* @property Waypoint[] $Waypoints Waypoints for Mileage expenses (route tracking)
46+
*/
47+
class Expenses extends Model
48+
{
49+
use Query\Findable;
50+
use Persistance\Storable;
51+
52+
protected $fillable = [
53+
'ID',
54+
'ApproverComment',
55+
'Category',
56+
'CategoryDescription',
57+
'Claimant',
58+
'ClaimantFullName',
59+
'Country',
60+
'Currency',
61+
'Description',
62+
'Distance',
63+
'Division',
64+
'ExpenseDate',
65+
'ExpenseLines',
66+
'ExpenseNumber',
67+
'ExpenseType',
68+
'ExpenseTypeDescription',
69+
'PaymentMethod',
70+
'PerDiemRateAmount',
71+
'Project',
72+
'ProjectDescription',
73+
'Quantity',
74+
'RateFC',
75+
'Report',
76+
'ReportDescription',
77+
'Status',
78+
'StatusDescription',
79+
'SysCreated',
80+
'SysCreator',
81+
'SysCreatorFullName',
82+
'SysModified',
83+
'SysModifier',
84+
'SysModifierFullName',
85+
'TotalAmountDC',
86+
'TotalAmountFC',
87+
'Vendor',
88+
'Waypoints',
89+
];
90+
91+
protected $url = 'expensemanagement/Expenses';
92+
}

src/Picqer/Financials/Exact/Project.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* @property bool $BlockRebilling Block rebilling
2222
* @property float $BudgetedAmount Budgeted amount of sales in the default currency of the company
2323
* @property float $BudgetedCosts Budgeted amount of costs in the default currency of the company
24-
* @property ProjectHourBudget[] $BudgetedHoursPerHourType Collection of budgeted hours
24+
* @property ProjectHourBudget $BudgetedHoursPerHourType Collection of budgeted hours
2525
* @property float $BudgetedRevenue Budgeted amount of revenue in the default currency of the company
2626
* @property int $BudgetOverrunHours BudgetOverrunHours: 10-Allowed, 20-Not Allowed
2727
* @property int $BudgetType Budget type

0 commit comments

Comments
 (0)