New fields have been introduced in various entities.
Explanations regarding the next version include improved management of quantities with decimals and units of measurement, providing more precise control over product attributes.
New fields have been introduced in various entities.
Explanations regarding the next version include improved management of quantities with decimals and units of measurement, providing more precise control over product attributes.
API resources overview / Suppliers
The new field defaultPurchaseAccount is added to the Supplier object type.
The new field defaultPurchaseAccountId is also added to the Supplier object type.
API resources overview / Purchase invoices
To simplify the creation of purchase invoices, the new input field vatPercentage of type Decimal is added to the input object type PurchaseInvoiceLineCreateGLDtoInput and the input field taxGroupId is removed.
API resources overview / ⚙️Post Purchase Invoice
To improve accounting of purchase invoices, the new input field postingDate of type DateTime is added to the input object type PostPurchaseInvoiceGLDtoInput.
API resources overview / 📝Sales documents
For all types of sales documents, the field length of productName in document lines has been increased from 100 to 2500 characters, allowing the creation of documents where the product line’s name can now match the value of the lineDescription field, which permits up to 2500 characters.
Other Improvements
Import of External Invoices with Original Number
It is now possible to set the invoice number using the operationalNumber field during invoice creation.
This enhancement allows users to import an invoice already issued by another software while keeping its original number.
If operationalNumber is provided with a non-empty value, the invoice is automatically set to Closed status.
If operationalNumber is not specified or left empty, the invoice is created without a number and remains in Draft status.
Get Localized Error Message
The GetLocalizedErrorMessage service retrieves a localized error message based on a given error code and optional language parameter, providing enhanced user experience with clear and specific error information. API resources overview / ⚙️Get Localized Error Message
New Fields or Values
COMING SOON This feature is currently in development and will be available in the next version. It’s already documented to keep you informed about its upcoming availabilityAPI resources overview / Sales invoices
The input field operationDate of type DateTime will be added to the input object type SalesInvoiceCreateGLDtoInput.
The input field operationDate of type DateTime will also be added to the input object type SalesInvoiceUpdateGLDtoInput.
In the interface, operationDate corresponds to the field fulfillmentDate. The fulfillmentDate represents the date when the delivery of goods or services associated with the invoice is completed.
It will be possible to specify an operationDate when it differs from the invoice date, allowing more flexibility in tracking the actual operation date separately from the invoicing date.
COMING SOON This feature is currently in development and will be available in the next version. It’s already documented to keep you informed about its upcoming availabilityAPI resources overview / Organization Accounting Setup
The following will be added to the object type OrganizationAccountingSetupGLDto:
Quantities with decimals and unit of measurement management
Unit of Measurement Consultation
The Unit of Measurement Consultation service provides access to view existing units of measurement and their attributes, such as abbreviation, number of decimals, and category. It enables detailed examination of how quantities with decimals are represented for various product categories. API resources overview / Units of measurements
COMING SOON This feature is currently in development and will be available in the next version. It’s already documented to keep you informed about its upcoming availabilityAPI resources overview / Products
The following will be added to the object type ProductGLDto:
The field unitOfMeasurement of type Unit of Measurement will allow retrieval of detailed information about the associated unit of measurement, including attributes like abbreviation, decimals, and category.
The field unitOfMeasurementId of type UUID will be used to link the product or item to a specific unit of measurement.
In the interface, these fields ensure accurate representation of quantities and their associated units, supporting more precise inventory and transaction management.
New Page for Organization Accounting Setup
The Organization Accounting Setup operation now has its own dedicated page within the Accounting section of the documentation. API resources overview / Organization Accounting Setup
Introducing Dark Mode
You can now enable Dark Mode for a more comfortable reading experience in low-light environments. Activate it from the top content by clicking on the Dark/Light button, which allows you to switch seamlessly between light and dark modes.
Other Documentation Improvements
New Postman collection Sage Active Public API V2 (2024 December)
The collection has been enhanced with the addition of new examples in the Discover DATA LOADER Query Samples section.
Embrace the future with our December Postman collection update!
To find out what’s new in the Postman collection, paste this icon in the filter field 🆕
To find out all Actions in the Postman collection, paste this icon in the filter field ⚙️
Caution
If you are new to the Sage Active Public API V2, it is strongly recommended to fully follow the Quick start guide before beginning to explore the collection.
New GraphQL schema diagram using GraphQL Voyager. Added a new page detailing the schema history, highlighting version differences and breaking changes.
New GraphQL schema diagram using GraphQL Voyager. Added a new page detailing the schema history, highlighting version differences and breaking changes.
Public API Improvements
Changes to Input Fields and Enums
API resources overview / Purchase invoices
The input field lines has been removed from the input object type PurchaseInvoiceCreateGLDtoInput.
The input field vatLines of type [PurchaseInvoiceLineCreateGLDtoInput!]! has been added to the input object type PurchaseInvoiceCreateGLDtoInput.
GraphQL schema is now available, including the latest version diagram and historical schema documentation.
This update features detailed comparisons between versions, emphasizing breaking changes.
GraphQL Schema History: Access to the Schema and Version Changes
A new page now allows you to download the GraphQL schema for the current production version, as well as a preview schema for the upcoming release and schemas from previous versions.
This page also displays automatically detected differences between schema versions using GraphQL Inspector diff.
In addition to the API resources overview / 📝Breaking changes page, this new feature provides precise details about changes between versions, helping you stay up-to-date with schema modifications. API resources overview / 📝Schemas History
New Schema Diagram by GraphQL Voyager
GraphQL Voyager is a tool that provides an interactive visualization of a GraphQL schema.
It generates a visual graph that allows developers and stakeholders to explore the schema’s structure, relationships, and data flow.
It automatically maps out all the types, queries, mutations, and connections between entities, helping users understand the API’s capabilities and navigate complex schemas easily. API resources overview / 📝Schema Diagram with Relationships
Other Documentation Improvements
New Page for Identifying Key API Errors
The error management system in the public API provides detailed feedback on various issues encountered during requests.
Errors are categorized into business logic errors, validation errors, and authorization-related errors.
These error codes and messages align with the Sage Active interface, helping developers quickly identify and resolve issues. API resources overview / 📝API Error Management
New objects to manage a workflow include creating a Purchase invoice, locking it for edits, posting to account for entries, tracking payment due dates, processing payments.
New objects to manage a workflow include creating a Purchase invoice, locking it for edits, posting to account for entries, tracking payment due dates, processing payments.
API resources overview / Organizations
The new boolean field onboardingCompleted has been added to organizations.
For each new organization, this field will only be set to true once the onboarding process of this organization has been completed.
Block Public API if Onboarding Incomplete
The API now automatically checks the value of the onboardingCompleted field in each organization.
If false it assigns an empty GUID to organizationId and TenantId to prevent API use.
Retrieve Sequential Number along with ID on Item Creation
In response to the creation of a Customer, Supplier, Employee the Code can be retrieved in addition to the ID,
Existing Fields Missing from Documentation in AccountingEntries
New fields that existed but were previously undocumented have now been officially added to the Accounting Entries resource: creationDate, modificationDate, documentNumber, accountingExercise, accountingExerciseId,
accountingPeriod, accountingPeriodId.
New Feature: Enhanced Filter for Resources
We’ve introduced a new filtering system for the resource list, allowing users to filter items by title or tags.
When a filter is applied, only items that match the search criteria will be displayed, improving navigation and access to relevant content. API resources overview
New objects to manage a workflow include creating an invoice, locking it for edits, posting to account for entries, tracking payment due dates, processing payments, and potentially issuing a credit note.
New objects to manage a workflow include creating an invoice, locking it for edits, posting to account for entries, tracking payment due dates, processing payments, and potentially issuing a credit note.
Public API Improvements
New Features Related to Sales Invoices
⚙️ ActionThe action resource represents a type of object that differs from standard queries or mutations.
For a query, it returns a result already prepared by Sage Active, with no possibility to add filters, sorts, or explore the data further, or it executes an action (e.g., sending an email).
For a mutation, it executes a specific business action, also carried out by Sage Active, which will impact the data (e.g., generating a credit note from an invoice). Close the Invoice to Prevent Further Modifications
Lock the invoice against further changes using the CloseSalesInvoice service, securing its details before posting. API resources overview / ⚙️Close Sales Invoice
⚙️ ActionThe action resource represents a type of object that differs from standard queries or mutations.
For a query, it returns a result already prepared by Sage Active, with no possibility to add filters, sorts, or explore the data further, or it executes an action (e.g., sending an email).
For a mutation, it executes a specific business action, also carried out by Sage Active, which will impact the data (e.g., generating a credit note from an invoice). Post the Invoice to Generate Accounting Entries
After closing, post the invoice with the PostSalesInvoice service to generate necessary accounting entries. API resources overview / ⚙️Post Sales Invoice
Read Payment Methods
Represents various bank accounts and cash methods, each method is linked to a Journal Type and a bank account. Payment methods are notably utilized by the Open Items Settlement action. API resources overview / Payment methods
⚙️ ActionThe action resource represents a type of object that differs from standard queries or mutations.
For a query, it returns a result already prepared by Sage Active, with no possibility to add filters, sorts, or explore the data further, or it executes an action (e.g., sending an email).
For a mutation, it executes a specific business action, also carried out by Sage Active, which will impact the data (e.g., generating a credit note from an invoice). Apply Partial or Full Payments to the Invoice
Manage invoice payments using the SalesOpenItemSettlement service, for both partial and full payments. API resources overview / ⚙️Sales Open Items Settlement
⚙️ ActionThe action resource represents a type of object that differs from standard queries or mutations.
For a query, it returns a result already prepared by Sage Active, with no possibility to add filters, sorts, or explore the data further, or it executes an action (e.g., sending an email).
For a mutation, it executes a specific business action, also carried out by Sage Active, which will impact the data (e.g., generating a credit note from an invoice).Generate Credit Note
This feature allowing you to create a credit note for a sales invoice. API resources overview / ⚙️Generate Credit Note
Also, addition in the Sales Invoice fields to identify credit notes and their link to the original invoice. API resources overview / Sales invoices
New Fields or Values
API resources overview / Sales quotes
New Declined value for the status field to indicate that a quote was not won, the declinedReason field has also been added and can contain the reason why the quote was declined.
API resources overview / Sales invoices
New field firstDueDate indicates the first payment due date of the invoice.
New statuses PartiallyCollected, Collected, provide information on the payment status of the invoice.
sourceEntityId: ID that can refer to a sales invoice, purchase invoice, collected payment, or issued payment; may be null.
When provided, it identifies the source entity in conjunction with sourceType=SALES.
sourceType: Identifies the origin of the entry, such as sales, purchases, payments, or imports, clarifying the source and purpose of each entry.
salesInvoice object relate directly to sales invoices when sourceType contains SALES.
sessionId and session: used only for DE legislation, not used for FR and ES. These fields add identifiable information to accounting entries and facilitate retrieving session data, such as the identifier, name, name and timestamp, and the activation status of the session.
Documentation Improvements
New Page: Some Filter vs. Direct Line Filtering
This page explains the two primary methods for querying documents such as Sales Quotes, Sales Orders, Sales Delivery Notes, and Sales Invoices in GraphQL: using a ‘some’ filter within the document query and querying document lines directly with a filter. Each approach has distinct use cases and outcomes. API resources overview / 📝some Filter vs. Direct Line Filtering
⚙️ ActionThe action resource represents a type of object that differs from standard queries or mutations.
For a query, it returns a result already prepared by Sage Active, with no possibility to add filters, sorts, or explore the data further, or it executes an action (e.g., sending an email).
For a mutation, it executes a specific business action, also carried out by Sage Active, which will impact the data (e.g., generating a credit note from an invoice). Icon
Add the ⚙️ ActionThe action resource represents a type of object that differs from standard queries or mutations.
For a query, it returns a result already prepared by Sage Active, with no possibility to add filters, sorts, or explore the data further, or it executes an action (e.g., sending an email).
For a mutation, it executes a specific business action, also carried out by Sage Active, which will impact the data (e.g., generating a credit note from an invoice). icon in front of the API objects that correspond to business actions directly managed by Sage Active.
For query-type actions, the result is directly calculated and returned by Sage Active; therefore, these actions do not allow filtering, sorting, or exploring sub-resources.
Sample: API resources overview / ⚙️Trial Balance
Accounting balances, MarketPlace, Access to Sage Active Production
Directly retrieve the trial balance or third-party balance, direct access to the MarketPlace from Sage Active,
Access to Sage Active production, documentation of soon-to-be-available features.
Directly retrieve the trial balance or third-party balance, direct access to the MarketPlace from Sage Active,
Access to Sage Active production, documentation of soon-to-be-available features.
Access to Sage Active Production
Since June 10, the old Sage Active stage environment has been replaced with direct access to Your Sage Active.
You will be able to test the API more easily, develop your applications, and make them operational for Sage Active users.
The documentation has been updated to reflect this change:
Key concepts / Environments
Documentation Improvements
Generate Credit Note
This feature will be available soon, allowing you to create a credit note for a sales invoice . Here is a preview of their documentation. API resources overview / ⚙️Generate Credit Note
Also, upcoming features in the Sales Invoice fields to identify credit notes and their link to the original invoice. API resources overview / Sales invoices
Document Pdf Email
This feature will be available soon, service allows you to send sales documents in PDF format via email directly from the API. API resources overview / ⚙️Document Pdf Email
Explore May's Release: Enhanced Data Loaders & Efficient Payment Tracking! Watch this brief video to discover how our latest API updates can streamline your data operations and improve payment tracking. Get ready to enhance your integration experience!
Public API Improvements
Data Loaders
Data Loaders are now implemented to optimize query performance by batching and caching requests.
This reduces the number of database hits required for complex queries that involve fetching related data, such as user profiles or transaction details.
Data Loaders ensure that data loading is handled efficiently, preventing redundant database queries and speeding up the API’s response times. API resources overview / 📝Benefits of DataLoaders
Automatic Creation of Tax Registers for createAccountingEntryUsingCodes & createAccountingEntryUsingIds
The Public API now automatically creates tax registers for purchase and sales invoices, ensuring compliance without manual intervention.
This automation only occurs if specific prerequisites are met; otherwise, the entry is processed without creating tax registers to prevent transaction rejections due to non-compliance. API resources overview / Create by using codes API resources overview / Create by using Ids
Open Items
The Open Items functionality has been improved to provide detailed information about each open item associated with customer or supplier invoices.
Open Items now include details such as the total amount, accumulated amount paid, and payment due date.
Open Items are structured as an array to accommodate multiple payment installments per invoice, offering a comprehensive view of payment statuses and methods used for settling each item. API resources overview / Accounting Entries
Documentation Improvements
Breaking Changes
The latest updates involve significant changes that might affect existing implementations.
We strongly recommend reviewing the detailed descriptions of these changes on the Breaking Changes page to understand their impact and adjust your applications accordingly. API resources overview / 📝Breaking changes
DataLoaders
This feature, now available, enhances GraphQL queries with DataLoaders to efficiently fetch complex data across different tenants, significantly simplifying data retrieval without direct dependency on main query IDs. Key concepts / Benefits of DataLoaders
Object Schema and Relationships
This feature introduces an advanced schema overview, detailing API object relationships and field mappings, even as we continue to expand the resources available within the schema, offering a comprehensive preview for more informed future integrations. API resources overview / 📝Schema Diagram with Relationships
Discover the Next Level of Secure, Role-Based Access Control & Effortless Data Import with our Latest Release! This brief video guide showcases cutting-edge security features and the simplicity of importing demo data. Watch now to elevate your experience!
Public API Improvements
User Management
Data access restrictions
Enhanced role management and access control in the Public API now mirrors Sage Active’s policies, enabling data access restrictions based on user roles and ensuring alignment with application behavior. API resources overview / 📝Users & User Management
User Access Policy Check
Introduced the UserAccessPolicyCheck service to validate user permissions for specific actions within the application, enhancing security and user experience by dynamically adjusting UI elements according to roles and access rights. API resources overview / ⚙️User Access Policy Check
User Multi tenants
With the ability now to have organizations on different tenants for a same user, the list of organizations no longer requires passing an X-TenantId in the header, and now exposes the tenantId field for each organization returned.
Instead, as in previous versions, of passing an X-TenantId in the header of other queries and mutations obtained from the ActiveTenantId value of userProfile, assign the tenantId retrieved from the record of the desired organization in X-TenantId. API resources overview / Organizations API resources overview / User profile
Users
The User object now supports multi-tenant capabilities and enhanced user roles, necessitating the inclusion of both X-OrganizationId and X-TenantId in the request header to accurately retrieve user lists according to the current organization. API resources overview / Users
User Management Unleashed: Sage Active Public API's Role-Based Innovation
Explore the next level of secure, role-based access control with Sage Active's Public API.
A new era of intuitive application development awaits.
Import Demo Data
Now, the Sample quotes application also allows you to import a complete set of demo data into the current company if it does not yet have any data.
Launching the Sample Quotes app and logging in allows you to select your desired organization.
If this organization lacks data (verified by the absence of customers, accounting accounts, fiscal years), the app will automatically offer to import demo data, including accounting plans, products, clients, suppliers, employees, fiscal years, and accounting entries. Sample quotes / 6. Import Demo Data
Discover how then sample quotes app now seamlessly enables the importation of a comprehensive set of demo data into your current company, should it find the data vaults empty.
A simple, streamlined process to kickstart your experience with fully populated data!
Documentation Improvements
DataLoaders
This feature, currently in development, enhances GraphQL queries with DataLoaders to efficiently fetch complex data across different tenants, significantly simplifying data retrieval without direct dependency on main query ids, and will be available soon. Key concepts / Benefits of DataLoaders
Elevate your API experience with the latest update!
Featuring advanced tools for Product and Sales Document Management and an intuitive Quotes Management sample.
Elevate your API experience with the latest update!
Featuring advanced tools for Product and Sales Document Management and an intuitive Quotes Management sample.
Explore the Sage Active Public API & Sales Management Module in Action! This concise video guide highlights the latest Public API features for the Sales module, complemented by a front-end application example. Watch now to enhance your Sage Active experience!
Sample of Quotes Management
Explore the Must-See Sage Active Public API V2 Quoting Example!
Dive into the invaluable resource of our front-end app example!
This example showcases the practical use of Sage Active Public API for efficient quote management.
It’s a perfect demonstration of how you can leverage the API’s capabilities in real-world scenarios, significantly simplifying the quoting process.
Now, this application also allows you to import a complete set of demo data into the current company if it does not yet have any data.
Document pdf Preview
Now available with the February version, you can display the PDF preview of any kind of documents (quotes, orders, delivery notes, invoices). API resources overview / ⚙️Document Pdf Preview
Documentation Improvements
Filtered by Id Instead of ById
The shift from specific <object>ById queries to more generalized <object> queries with a where clause for ID filtering marks an significative change in the Sage Active Public API V2.
This new approach streamlines the querying process and aligns with the overall GraphQL philosophy. Key concepts / Filtered by Id instead of ById
New page compiling all videos
On this page, you can find all our videos, arranged from the most recent to the oldest.
Directly access the page where this video is included. Conversely, from pages featuring a video, you can directly reach the videos page. Videos
Generate a query with an AI prompt
This assistant will assist you in defining your queries, including filters, by generating a prompt that you can submit to the AI of your choice to generate the GraphQL Hot Chocolate query syntax. Generate a query with an AI prompt
Fixed the display of tiles in the ‘Application Keys’ interface when the title or description were long, as they overflowed the tile.
In the Solutions tab of Application Keys, the on/off toggle button was ambiguous as it could suggest that the solution was not activated; it has been replaced by a chevron.
Clarification of the message returned by the API when an authenticated user is not a Sage Active user.
Launching the public API for Sage Active in production for France FR, Spain ES, and Germany DE
Authentication Documentation for Mobile and Desktop Apps
New Mutations to Simplify the Addition of Accounting Entries, Customers, Suppliers.
API Improvements
Launching the Public API for Production Environments in France, Spain, and Germany (How to find ?)
The public API is now live for the production environments of the three legislations: France, Spain, and Germany.
The staging environment remains accessible and allows you to test all three legislations.
New Mutations to Simplify the Addition of Accounting Entries (How to find?)
We’ve introduced new mutations that make it easier for you to add accounting entries to your records.
These enhancements streamline the process and reduce complexity.
Simplification of the Creation of Customer and Supplier Third Parties (How to find?)
We have made enhancements to streamline the process of creating customer and supplier third-party records.
Documentation Improvements
Addition of an Index of Important Terms:
A comprehensive index page has been added to help users quickly find and understand crucial terms used within the application. Index of Important Terms
Improvements in Resource Descriptions with Thumbnails
We’ve enhanced the descriptions for each resource and added thumbnails, providing a more intuitive way to identify resources through the application’s interface.
To facilitate easy navigation and information retrieval, “How to Find?” links have been added at key locations.
These links guide you to the specific sections where they can obtain necessary information.
Authentication Documentation for Mobile and Desktop Apps (How to find?)
Comprehensive guides have been added to explain how to implement authentication for mobile and desktop applications within our system.
Dedicated Page for Updating Records Logic:
We are excited to introduce a dedicated page that thoroughly explains the logic and methods for updating records using the GraphQL patch-like approach. Visit the page to delve into the intricacies of efficiently modifying specific fields within records. Key concepts / Updating records