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
23 changes: 0 additions & 23 deletions .github/workflows/release.yml

This file was deleted.

23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,26 @@ The new `BexioOAuthAuthenticationValidateResolver` allows you to implement custo
- **Migration Examples**: Detailed migration examples for all scenarios
- **Scope Documentation**: Complete OAuth scope enumeration and documentation

### 🔄 DTO Field Updates

The following DTOs have been updated with new fields:

#### Contact & Additional Address Fields (2025-06-04)
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The date '2025-06-04' appears to be in the future (June 2025), but we are currently in November 2025. This should likely be a past date or the current year. Please verify and correct the date to accurately reflect when these fields were added.

Copilot uses AI. Check for mistakes.

- **ContactDTO** and **CreateEditContactDTO**: Added `street_name`, `house_number`, and `address_addition` fields
- The `address` field is now deprecated in favor of the new structured address fields
- These fields provide better address handling and validation

- **AdditionalAddressDTO** and **CreateEditAdditionalAddressDTO**: Added `street_name`, `house_number`, and `address_addition` fields
- The `address` field is now deprecated in favor of the new structured address fields

#### Bank Account Fields (2025-06-06)
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The date '2025-06-06' appears to be in the future relative to the previous entry (2025-06-04) and earlier than the current date (November 2025). While chronologically this makes sense if changes were made in June, please verify this is the intended date format and that all dates accurately reflect when features were added.

Copilot uses AI. Check for mistakes.

- **BankAccountDTO**: Added `owner_house_number` and `owner_country_code` fields
- These fields provide more detailed owner information for bank accounts

#### Calendar Year Fields (2025-08-04)
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The date '2025-08-04' appears to be in August 2025, which is in the past relative to November 2025. However, please verify this date is correct and consistent with when this feature was actually added to ensure accurate changelog documentation.

Suggested change
#### Calendar Year Fields (2025-08-04)
#### Calendar Year Fields (2025-11-04)

Copilot uses AI. Check for mistakes.

- **CalendarYearDTO**: Added `is_annual_reporting` field
- This field indicates whether the calendar year is used for annual reporting

101 changes: 89 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,66 @@

This package was developed to give you a quick start to the Bexio API.

## 📑 Table of Contents

- [What is Bexio?](#-what-is-bexio)
- [Requirements](#-requirements)
- [Authentication](#authentication)
Copy link

Copilot AI Nov 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Table of Contents link for 'Authentication' points to #authentication, but this section appears to be titled '## Authentication' (line 85). Based on the pattern where other TOC entries link to sections with emoji prefixes (e.g., '💡 What is Bexio?', '🔐 Authentication Setup'), this link may not work correctly if the actual section title uses an emoji prefix. Please verify the section heading matches this anchor.

Suggested change
- [Authentication](#authentication)
- [Authentication](#-authentication)

Copilot uses AI. Check for mistakes.
- [Installation](#️-installation)
- [Authentication Setup](#-authentication-setup)
- [Environment Variables](#environment-variables)
- [Single Tenant Authentication](#single-tenant-authentication)
- [Token Authentication](#token-authentication)
- [OAuth Authentication](#oauth-authentication)
- [OAuth Flow](#oauth-flow)
- [OAuth Callback Response](#oauth-callback-response)
- [Multi-Tenant Authentication](#multi-tenant-authentication)
- [Token Authentication (Multi-Tenant)](#token-authentication-multi-tenant)
- [OAuth Authentication (Multi-Tenant)](#oauth-authentication-multi-tenant)
- [Custom OAuth Authentication Validation (Optional)](#custom-oauth-authentication-validation-optional)
- [Available OAuth Scopes](#available-oauth-scopes)
- [Advanced Configuration](#️-advanced-configuration)
- [Custom Cache Store](#custom-cache-store)
- [Custom Route Configuration](#custom-route-configuration)
- [Basic Usage](#basic-usage)
- [Responses](#responses)
- [Enums](#enums)
- [DTOs](#dtos)
- [Examples](#examples)
- [API Reference](#api-reference)
- [Accounts](#accounts)
- [Addresses](#addresses)
- [Bank Accounts](#bank-accounts)
- [Business Years](#business-years)
- [Calendar Years](#calendar-years)
- [Company Profiles](#company-profiles)
- [Additional Addresses](#additional-addresses)
- [Contact Groups](#contact-groups)
- [Contact Relations](#contact-relations)
- [Contacts](#contacts)
- [Contact Sectors](#contact-sectors)
- [Currencies](#currencies)
- [Files](#files)
- [Iban Payments](#iban-payments)
- [Invoices](#invoices)
- [Languages](#languages)
- [Manual Entries](#manual-entries)
- [Notes](#notes)
- [Payments](#payments)
- [Qr Payments](#qr-payments)
- [Reports](#reports)
- [Salutations](#salutations)
- [Taxes](#taxes)
- [Titles](#titles)
- [VAT Periods](#vat-periods)
- [Testing](#-testing)
- [Changelog](#-changelog)
- [Contributing](#️-contributing)
- [Code Style](#code-style)
- [Security Vulnerabilities](#️-security-vulnerabilities)
- [Credits](#-credits)
- [License](#-license)

## 💡 What is Bexio?

Bexio is a cloud-based simple business software for the self-employed, small businesses and startups.
Expand Down Expand Up @@ -646,7 +706,6 @@ We provide DTOs for the following:
| AccountDTO |
| BankAccountDTO |
| AdditionalAddressDTO |
| BankAccountDTO |
| BusinessActivityDTO |
| BusinessYearDTO |
| CalendarYearDTO |
Expand All @@ -672,7 +731,6 @@ We provide DTOs for the following:
| LanguageDTO |
| AddFileDTO |
| EntryDTO |
| FileDTO |
| ManualEntryDTO |
| NoteDTO |
| PaymentDTO |
Expand All @@ -684,6 +742,7 @@ We provide DTOs for the following:
| TitleDTO |
| UnitDTO |
| UserDTO |
| UserInfoDTO |
| VatPeriodDTO |

In addition to the above, we also provide DTOs to be used for create and edit request for the following:
Expand All @@ -710,6 +769,8 @@ In addition to the above, we also provide DTOs to be used for create and edit re

`Note: This is the preferred method of interfacing with Requests and Responses however you can still use the json, object and collect methods. and pass arrays to the requests.`

> **📝 Recent DTO Field Updates:** For information about recent DTO field additions and changes, please see the [CHANGELOG.md](CHANGELOG.md#-dto-field-updates).

### Examples

Here are some examples of how to use the package with different authentication methods:
Expand Down Expand Up @@ -796,13 +857,16 @@ $addresses = $connector->send(new SearchAddressesRequest(
/**
* Create Address
*/
$address = $connector->send(new CreateAddressRequest(
data: new CreateEditAddressDTO(
$address = $connector->send(new CreateAnAdditionalAddressRequest(
id: 1,
data: new CreateEditAdditionalAddressDTO(
name: 'Test',
subject: 'Test Subject',
description: 'This is a test',
address: 'Test Address',
postcode: '1234',
street_name: 'Main Street',
house_number: '123',
address_addition: 'Apt 4B',
postcode: 1234,
city: 'Test City',
)
));
Expand All @@ -812,14 +876,17 @@ $address = $connector->send(new CreateAddressRequest(
/**
* Edit Address
*/
$address = $connector->send(new EditAnAddressRequest(
$address = $connector->send(new EditAnAdditionalAddressRequest(
contactId: 1,
id: 1,
data: new CreateEditAddressDTO(
data: new CreateEditAdditionalAddressDTO(
name: 'Test Edit',
subject: 'Test Subject Edit',
description: 'This is a test edit',
address: 'Test Address Edit',
postcode: '4567',
street_name: 'Main Street',
house_number: '456',
address_addition: 'Suite 2',
postcode: 4567,
city: 'Test City Edit',
)
));
Expand Down Expand Up @@ -1138,7 +1205,12 @@ $contact = $connector->send(new CreateContactRequest(
user_id: 1,
owner_id: 1,
contact_type_id: 1,
name_1: 'Name'
name_1: 'Name',
street_name: 'Main Street',
house_number: '123',
address_addition: 'Apt 4B',
postcode: '1234',
city: 'Zurich'
)
));
```
Expand Down Expand Up @@ -1175,7 +1247,12 @@ $contact = $connector->send(new EditAContactRequest(
user_id: 1,
owner_id: 1,
contact_type_id: 1,
name_1: 'Name'
name_1: 'Name',
street_name: 'Main Street',
house_number: '123',
address_addition: 'Apt 4B',
postcode: '1234',
city: 'Zurich'
)
));
```
Expand Down