Getting Started

Getting Started

This guide walks you through the first steps to begin developing with Pricefx as a configuration engineer – from understanding what you need, to getting a partition, initializing your project, deploying it, and exploring what to do next.

Target Audience

This space (Configuration Knowledge Base) is designed primarily for configuration engineers who are new to developing in the Pricefx environment and need a structured way to move from zero to a running project.

Use this section if you are:

  • A Configuration Engineer, Solution Architect, or Administrator starting with Pricefx configuration

  • A developer who needs to understand the tooling and basic concepts before diving into details

  • Anyone trying to understand the context of content in the Configuration Engineer Knowledge Base

Prerequisites

Before you start using the material in this space, make sure you can answer these questions:

  • Do you have access to a Pricefx partition for training / development?

  • Do you have your tooling installed and configured (IDE, Studio plugins, access keys, etc.)?

  • Do you understand at least at a high level:

    • What a partition is and why everything runs in the cloud

    • The difference between master data, analytics (Datamarts/Data Sources), and transactional objects (Quotes, Price Lists, Agreements, etc.)

If any of the above is unclear, start with the Prerequisites section before moving on.

First Steps

These are the very first actions to take to get to a working, testable setup.

  1. Get a partition and connect to it

  2. Set up your tooling

    • Install and configure Pricefx Studio, access tokens, and connections.

    • Learn where and how to fetch, edit and deploy logics:
      Fetch LogicsFetch Logics
      Run Logic TestRun Logic Test

  3. Adopt basic naming and structure conventions

To keep your project and this KB consistent, follow naming ConventionsNaming Conventions

  1. Initialize your project

Once you have access to a partition, your next step is to set up a project that connects to it. This usually involves:

  • Selecting or cloning a starter template (for example, a Pricefx starter project).

  • Configuring connection details to your partition.

  • Preparing the project structure so you can begin implementing logic and configuration.

The dedicated Project Initialization documentation contains the up‑to‑date details and recommended steps.

  1. Deploy your project

With a project initialized, you need to deploy it to a partition so that your configuration and logic can run in the Pricefx cloud.

There are several supported ways to deploy Pricefx projects:

  • Pricefx Studio – a graphical interface inside IntelliJ that lets you select exactly which files to deploy, making deployments fast and focused.

  • Pricefx Packaging Tool – a command‑line tool suitable for CI/CD pipelines, so your project can be automatically tested and deployed when you commit to version control.

  • Pricefx Stream Maven Plugin – a Maven plugin capable of deploying (almost) any kind of data, especially useful for sample projects with data. It is used, for example, to deploy the pricefx-starter project – including its sample data – by simply configuring a Maven profile and running the plugin, without requiring IntelliJ or Pricefx Studio.


Quick Start

The goal of this section is to get you from zero to a minimal working solution as fast as possible, in a way that matches this space’s content.

Depending on your focus, you can choose one or more of these quick paths:

Hello World: Basic Logic & Data Access

Objective: Write a simple logic that reads data and returns a result.

Suggested sequence:

  1. Learn how to read data from transactional tables (Products, Customers, etc.):
    General Data QueriesGeneral Data Queries

  2. Understand date/time handling in logics:
    Date and DateTime (Quick Reference)Date and DateTime (Quick Reference)

  3. Use queryApi() for new implementations:
    Reference (QueryAPI)Reference (QueryAPI)

  4. Build a small logic that:

    • Uses api.queryApi() or api.find() to read a product or customer

    • Returns a simple calculated field (e.g., margin %)

This is your “Hello World” for configuration logic.

Hello World: Analytics & Dashboards

Objective: Query analytics data (Datamarts/Data Sources) and show the result, potentially in a dashboard.

  1. Understand Data Source / Datamart queries:
    Data Source QueriesData Source Queries

  2. Build a simple Analytics query:

    • Use getDatamartContext()

    • Select a few columns, filter by year, and aggregate (e.g., SUM of InvoicePrice by ProductGroup)

  3. Optionally, convert the result to a ResultMatrix and show it in a dashboard.

  4. When ready, look at On-Demand Dashboards as a more advanced pattern:
    Getting Started with On-Demand DashboardsGetting Started with On-Demand Dashboards

Hello World: Integration-Friendly Outputs (Condition Records, Notifications)

If you work on integrations or downstream systems:

  • Learn how to create Condition Records from objects like Price Lists or Agreements:
    Condition Records (Reference)Condition Records (Reference)

  • Learn how to send Notifications to users for events or errors:
    Notifications (HowTo)Notifications (HowTo)

Try a minimal example:

  • Configure a logic that, after a document is approved, creates a Condition Record and optionally sends a Notification with a deep link.

Next Steps

Once you have basic connectivity and a couple of working examples, expand in these directions:

Data & Modeling

This helps you understand:

  • Which tables are required (Transactions, Customer Master, Product Master, etc.)

  • What minimal fields are needed to enable insights and optimization

Advanced Querying & Performance

  • Refine your use of generic data access functions:
    General Data QueriesGeneral Data Queries

  • Learn when to use streaming vs batch (api.stream() vs api.find()) and how to limit rows/columns for performance.

Tooling & Operations

Explore Docs

Once you have a project deployed, the next focus is learning how to extend and customize your solution. The documentation offers several complementary resource types to help you progress:

Found an issue in documentation? Write to us.