### QuickBooks API Query Endpoints Source: https://docs.nue.io/quickbooks-integration-setup Provides examples of how to query customer and product data from QuickBooks using their API. These queries are essential for mapping existing data between systems. ```APIDOC GET https://quickbooks.api.intuit.com/v3/company/{companyId}/query?minorversion={minorversion} Content-Type: text/plain Production Base URL: https://quickbooks.api.intuit.com Sandbox Base URL: https://sandbox-quickbooks.api.intuit.com Sample query for customers: Select c.Id, c.DisplayName from Customer c order by DisplayName Sample query for products: Select i.Id, i.Name from Item i order by Name For more information, refer to the QuickBooks API Documentation on querying accounts. ``` -------------------------------- ### Install Nue Revenue Builder Connected App Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Instructions for installing and configuring the Nue Revenue Builder Connected App in Salesforce. This app is crucial for establishing the connection between Nue and Salesforce and for enabling login via Salesforce credentials. ```APIDOC Connected App Configuration: 1. Installation: - Obtain the Installation URL and password for the Nue Salesforce managed package from your Service Consultant. - Use the provided URLs for Sandbox or Production environments to initiate the installation. - Sandbox URL: https://test.salesforce.com/identity/app/AppInstallApprovalPage.apexp?app_id=0Ci4W000000U1qr&app_org_id=00D4W0000054dHp - Production URL: https://login.salesforce.com/identity/app/AppInstallApprovalPage.apexp?app_id=0Ci4W000000U1qr&app_org_id=00D4W0000054dHp 2. Edit Policies: - After installation, navigate to Settings > App Manager. - Find and click 'Manage' for the 'Nue Revenue Builder' app. - Click 'Edit Policies'. - Change the connected app policies to: 'Admin approved users are pre-authorized'. - Click Save. 3. Manage Profiles: - Navigate to Settings > App Manager. - Click 'Manage' for the 'Nue Revenue Builder' app. - Click the 'Manage Profiles' button in the Profiles section. - On the Application Profile Assignment page, select the relevant Salesforce user profile (e.g., 'System Administrator'). - Click Save. - Note: This profile is for the Salesforce user that Nue will use to connect. ``` -------------------------------- ### Enable Salesforce Quote and Order Features Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Steps to enable essential Salesforce features required for Nue integration. This involves navigating to Salesforce Setup and activating specific settings for Quotes and Orders. ```APIDOC Salesforce Setup Steps: 1. Enable Quote Feature: - Navigate to Setup. - Search for 'Quotes Settings'. - Click 'Enable'. 2. Enable Order Feature: - Navigate to Setup. - Search for 'Order Settings'. - Check the following checkboxes: - Enable Orders - Enable Negative Quantity - Enable Zero Quantity - Enable Order Events ``` -------------------------------- ### Nue Salesforce Connection Parameters Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Parameters required to establish or re-establish a connection between Nue and Salesforce. This includes details about the Salesforce environment, credentials, and specific URLs. ```APIDOC Salesforce Connection Configuration: Parameters: - Salesforce Environment: (string) Specifies the Salesforce environment type. Accepted values: 'Production', 'Sandbox', 'Custom Domain'. - Salesforce URL: (string, optional) The full Salesforce URL. Required only if 'Salesforce Environment' is set to 'Custom Domain'. Can be used for Production or Sandbox instances. - Salesforce Username: (string) The Salesforce username used for connecting to Nue. This user's credentials authenticate Nue from Salesforce. - Nue Account Password: (string) The password for the currently logged-in Nue user. This password is used for the Salesforce integration. ``` -------------------------------- ### NetSuite Connection Setup in Nue Source: https://docs.nue.io/netsuite-integration-setup Guides users through the process of configuring the NetSuite Connector within Nue's System Settings, including authentication setup. ```APIDOC Go to System Settings. Search for NetSuite Integration. Click Configure to launch the Config-Wizard. On the Config-Wizard page: Create “API Key-based” authentication for Nue. Set up “Token-Based” authentications for NetSuite (REST and SOAP connectors). Complete remaining settings and click Finish. ``` -------------------------------- ### Making a Basic API Request Source: https://docs.nue.io/api-docs Example of setting the API key and making a GET request to the metadata objects endpoint using curl. ```bash export NUE_API_KEY="your_api_key_here" curl -H "nue-api-key: $NUE_API_KEY" \ -H "Content-Type: application/json" \ https://api.nue.io/metadata/objects ``` -------------------------------- ### Create Bundle Product Configuration Example Source: https://docs.nue.io/configure-products-and-prices Example configuration parameters for creating a bundle product, including general information, product options, and price plans. This outlines the data required for defining a bundle in the product catalog. ```APIDOC CreateBundleProduct: GeneralInformation: - BundleName: VROOM BASIC - SKU: ZM/Basic - Description: Personal Meeting - Free, forever. - AdditionalDescription: Free, forever. No credit cards required. Host up to 100 participants; 40-minute maximum group meetings; Unlimited 1:1 Meetings. Free, forever. No credit cards required. - DefaultUOM: License/Month - StandardPrice: "$0.0" - ProductCategory: Recurring Services - RevenueModel: Recurring - Status: Active - StartDate: "01/01/2023" - CanBeSoldIndependently: true - AutoRenew: true - FreeTrial: false ProductOptions: - PriceBook: Standard Price Book - Options: - Product: Private and Group Chat - OptionName: Private and Group Chat - Bundled: true - Product: Group Meetings - OptionName: Group Meetings - Bundled: true PricePlans: - UnitOfMeasure: License Per Year - ListPrice: "$0" ``` -------------------------------- ### Nue Layout Configuration and Refresh Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Instructions for cloning and assigning custom page layouts for Quotes and Orders in Salesforce, and refreshing Nue settings to apply them. This ensures dynamic adoption of user-assigned layouts. ```APIDOC Salesforce Page Layout Configuration: 1. Navigate to 'Page Layouts' section. 2. Select a recommended layout (e.g., 'Nue Quote Layout v2406'). 3. Click 'Clone' and enter a new 'Layout Name'. 4. Adjust settings as needed and click 'Save'. 5. Assign the cloned layout via 'Page Layout Assignment' if necessary. 6. Repeat for Order layouts. Nue App Refresh: 1. Login to Nue App (https://app.nue.io). 2. Navigate to Settings. 3. Search for 'Layout Settings' to access Quotes and Orders settings. 4. Click 'Refresh' in the Layout Settings section. Outcome: Create Quote and Create Order pages will dynamically use the logged-in user's assigned page layout. ``` -------------------------------- ### Example Refund API Call Source: https://docs.nue.io/collections-refunds-and-reversals Example cURL command demonstrating how to call the Refund Invoices API with a sample payload. ```bash curl --location 'https://api.nue.io/billing/invoices:refund' \ --header 'Content-Type: application/json' \ --header 'nue-api-key: {nue-api-key}' \ --data '{ "RefundInvoices": [ { "invoiceId": "1fa145d6-33c7-42ae-b376-d4644e0611b5", "accountId": "0016D00000x1IkoQAE", "paymentSource": "QuickBooks", "paymentId": "PI-001", "paymentNumber": "PA-Number-001", "transactionAmount": "320.00", "paymentMethod": "Electronic" }, { "invoiceId": "6c76a85b-b6f3-4775-a7b4-3a3c8dbce08d", "accountId": "0016D00000x1IkoQAE", "paymentSource": "QuickBooks", "paymentId": "PI-002", "paymentNumber": "PA-Number-002", "transactionAmount": "550.00", "paymentMethod": "Electronic" } ] }' ``` -------------------------------- ### Create Product Configuration Example Source: https://docs.nue.io/configure-products-and-prices Example configuration parameters for creating a product with specific attributes like name, SKU, pricing, and revenue model. This data structure is typically used when interacting with a product creation API. ```APIDOC CreateProduct: - ProductName: Webinar (Overage by Attendee) - SKU: ZM/Webinar - Description: Webinar (Overage by Attendee) - DefaultUOM: Participants - StandardPrice: "$0.79" - ProductCategory: Recurring Services - RevenueModel: Overage Usage - Status: Active - StartDate: "01/01/2023" - CanBeSoldIndependently: true - Features: - Unlimited Webinar sessions for up to 30 hours each - Live Streaming ``` -------------------------------- ### Swap Subscription Source: https://docs.nue.io/apex-global-methods-and-services Shows an example of swapping a subscription from one product to another, potentially with the same price. This requires the asset number, a start date, the target price book entry ID, and a flag for same-price swaps. ```Apex Ruby.GlobalProductChangeRequest swapRequest = new Ruby.GlobalProductChangeRequest( Ruby.GlobalAssetChangeType.Swap ); swapRequest.assetNumber = 'SUB-000000'; swapRequest.startDate = Date.today().addDays(20); swapRequest.targetPriceBookEntryId = '01uQL000007fZCIYA2'; swapRequest.samePriceSwap = true; ``` -------------------------------- ### Stripe Integration Setup and Configuration Source: https://docs.nue.io/stripe-integration-setup Details on setting up and configuring the Stripe integration within the Nue platform, including API key management and payment collection preferences. ```APIDOC StripeIntegration: Permissions: - Integrations: Manage Stripe Integration - Collections: View Payment Application, Manage Payment Application, Process Payment, Process Refund, Apply Credit Memos, Unapply Credit Memos, Writeoff Invoices SetupConnection: Action: Navigate to System Settings in Nue App, search for 'Stripe Integration'. Parameters: publishable_key: Your Stripe publishable API key. Obtainable from Stripe Dashboard. secret_key: Your Stripe secret API key. Obtainable from Stripe Dashboard. Note: In Live Mode, the secret key cannot be viewed directly; rotate it and store securely. Actions: - Test: Verify the connection using provided keys. - Activate: Enable the connection once testing is successful. An 'ACTIVE' indicator confirms the live status. ConfigureCollectionPreference: Description: Select the Collection Preference based on your Stripe Integration use case. UseStripeInvoicingAndStripePayments: Description: Invoices are generated and managed via Stripe's native invoicing system. Nue sends invoices to Stripe Invoicing for customer management (payments, refunds, dunning, etc.). Charges an additional 0.4% per transaction on top of Stripe Payments charges. CollectionMethods: - Automatically Charge: Description: Automatically charges the end-customer's payment method if possible. Falls back to 'Send Email' if automatic charging fails or no payment method is on file. - Send Email: Description: Always sends an email with the invoice attached, provided the customer's email is available. - Smart Collection: Description: Uses an informed approach based on payment method capabilities and customer data. Logic: - If payment method only supports 'Send Email' (e.g., Bank Transfer), collect via email. - If customer has a payment method on file (e.g., Credit Card), charge it automatically. - Otherwise, collect payment by email with the invoice attached. UseNueCollectionsAndStripePayments: Description: Stripe provides checkout experience; Nue manages end-to-end billing and collections (recurring billing, subscriptions, revenue reporting). All financial operations (payments, refunds, credit memos, etc.) must be executed within Nue for data integrity. ``` -------------------------------- ### Upgrade Subscription Source: https://docs.nue.io/apex-global-methods-and-services Provides an example of upgrading a subscription from one product to another. This involves specifying the asset number, a start date for the upgrade, and the target price book entry ID for the new product. ```Apex Ruby.GlobalProductChangeRequest upgradeRequest = new Ruby.GlobalProductChangeRequest( Ruby.GlobalAssetChangeType.Upgrade ); upgradeRequest.assetNumber = 'SUB-000000'; upgradeRequest.startDate = Date.today().addDays(20); upgradeRequest.targetPriceBookEntryId = '01uQL000007fZCIYA2'; ``` -------------------------------- ### Nue.io Self-Service API Overview Source: https://docs.nue.io/self-service-reference-guide This entry details the core functionalities and operational principles of the Nue.io Self-Service API. It covers managing accounts, contacts, products, orders, and assets, as well as its bidirectional synchronization with Salesforce. The API adheres to RESTful principles, utilizing JSON for data exchange and standard HTTP methods. Authentication is handled via API keys in request headers. For detailed schemas, request/response examples, and interactive testing, refer to the provided 'Guides + Try it out' link. ```APIDOC Nue.io Self-Service API: Purpose: Streamline revenue lifecycle processes, manage financial data, and enable bidirectional synchronization with Salesforce. Core Functionalities: - Manage accounts and contacts - Retrieve product information and pricing details - Create new orders - Update existing asset data (subscriptions, physical assets, entitlements) - Bidirectional data sync with Salesforce Design Principles: - RESTful architecture - Resource-oriented URLs - Accepts JSON-encoded request bodies - Returns JSON-encoded responses - Uses standard HTTP response codes and verbs Getting Started: 1. Obtain Self-Service API License from Nue Team. 2. Acquire a valid API Key from Nue account settings. 3. Activate 'Self Service API Access' permission for the API key's role. 4. Use HTTPS for all communications. Authentication: - API Key required in the request header. - Recommended for server-side use to protect API keys. Response Format: - JSON format for both successful responses and errors (under an 'error' key). Further Resources: - Guides + Try it out: https://api-docs.nue.io/self-service - UI Component Storybook: https://nue-self-service-ui.vercel.app/ ``` -------------------------------- ### Fetch Cake by ID Example Source: https://docs.nue.io/api-docs/what-is-a-customer A JavaScript example demonstrating how to fetch cake data from an API using the Fetch API. It includes setting headers, stringifying the request body, and handling the response. ```javascript var myHeaders = new Headers(); myHeaders.append("Accept", "application/json"); myHeaders.append("Content-Type", "application/json"); var raw = JSON.stringify({ "id": "String" }); var requestOptions = { method: 'GET', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("https://api.cakes.com", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error)); ``` -------------------------------- ### Curl Example for Get Export Job Status Source: https://docs.nue.io/api-docs/export-and-import An example command using curl to query the status of a specific export job. It includes the necessary API endpoint and an authentication header. ```curl curl --location 'https://api.nue.io/cpq/async/exports/f7531328-90d9-4b60-8ac1-85387b052f07' \ --header 'nue-api-key: {{nue-api-key}}' ``` -------------------------------- ### Create New Bundle: VROOM BUSINESS Source: https://docs.nue.io/configure-products-and-prices Provides the configuration details for creating a new bundle named 'VROOM BUSINESS'. This includes general information, SKU, pricing, and operational settings. ```APIDOC APIDOC: Method: CreateBundle Description: Creates a new product bundle with specified attributes. Navigation: - Price Builder > Product Catalog > New Bundle Parameters: - Bundle Name: "VROOM BUSINESS" - SKU: "ZM/Business" - Description: "Great for Small Businesses" - Additional Description: "*Starting at 10 licenses for $1,999/year" - Default UOM: "License/Month" - Standard Price: "$19.99" - Product Category: "Recurring Services" - Revenue Model: "Recurring" - Status: "Active" - Start Date: "01/01/2023" - Can be sold independently: true - Auto Renew: true - Free Trial: "Enable Free Trial for 1 Month" Returns: - Confirmation of bundle creation and saving. ``` -------------------------------- ### Initialize NueProductCalculator with Global Object Source: https://docs.nue.io/client-side-pricing-engine Demonstrates initializing the `NueProductCalculator` using the global `NuePricingEngine` object. Requires specifying configuration like `termBasis`. ```javascript const productCalculator = new NuePricingEngine.NueProductCalculator({ termBasis: "EU30/360", }); const calculationResult = productCalculator.calculate({ // Input object for calculation }); ``` -------------------------------- ### GraphQL Query for Customer Data Source: https://docs.nue.io/self-service-reference-guide Example GraphQL query to retrieve specific details for a customer based on their ID. This demonstrates how to filter and select fields from the Customer object. ```APIDOC Query Customers: query { Customer(where: {id: {_eq: "02e24cf3-40d6-43b2-a47b-53904ab3776c"}}) { createdById createdDate id lastModifiedById lastModifiedDate name phone } } ``` -------------------------------- ### Lightning Web Security Configuration Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Guidance on disabling Lightning Web Security if performance degradation is observed on Nue lightning pages. This setting can sometimes conflict with application performance. ```APIDOC Session Settings Adjustment: 1. Navigate to Session Settings. 2. Locate the 'Lightning Web Security' section. 3. Disable the 'Lightning Web Security' feature. Recommendation: Disable this feature if experiencing intermittent performance issues on Nue lightning pages. ``` -------------------------------- ### GraphQL Query for Active Subscriptions Source: https://docs.nue.io/self-service-reference-guide This GraphQL query retrieves all active subscriptions for a specified customer, sorted by product ID and subscription start date. It includes a comprehensive list of subscription attributes. ```GraphQL query { Subscription( where: { _and: [ {status: {_eq: "Active"}}, {customer: {id: {_eq: "{{customerId}}"}}} ] } orderBy: {productId: asc, subscriptionStartDate: asc} ) { actualSubscriptionTerm autoRenew billingPeriod billingTiming bundled cancellationDate createdById createdDate customerId id includedUnits lastModifiedById lastModifiedDate lastVersionedSubscriptionId latestVersionedSubscriptionId listPrice name orderOnDate orderProductId originalSubscriptionId priceBookEntryId priceBookId productId quantity reconfigureEffectiveDate renewalTerm rootId salesPrice status subscriptionEndDate subscriptionLevel subscriptionStartDate subscriptionTerm subscriptionVersion taxAmount tcv todayARR todayCMRR todaysQuantity totalACV totalAmount totalPrice totalTCV uomId } } ``` -------------------------------- ### Example Pricing Engine JSON Response Source: https://docs.nue.io/client-side-pricing-engine Illustrates a typical successful response from the pricing engine, including subscription changes and detailed order product information with price tags and product details. ```JSON { "status": "SUCCESS", "data": { "SUB-00000483": { "changes": [ { "changeType": "NewProduct", "endDate": "2025-01-12", "lineType": "LineItem", "listTotal": 148.5, "netSalesPrice": 9.9, "quantity": 15, "startDate": "2024-12-13", "subtotal": 148.5, "term": 1, "totalAmount": 148.5, "totalPrice": 148.5 }, { "changeType": "UpdateQuantity", "endDate": "2025-01-12", "lineType": "LineItem", "listTotal": 29.7, "netSalesPrice": 9.9, "quantity": 3, "startDate": "2024-12-13", "subtotal": 29.7, "term": 1, "totalAmount": 29.7, "totalPrice": 29.7 } ], "orderProduct": { "endDate": "2025-01-12", "listPrice": 9.9, "listTotal": 178.2, "priceTags": [ { "active": true, "code": "10PERCENTOFFDEMO", "id": "a0XEi000003GRovMAG", "lastPublishedById": "005Ei00000GgD7tIAF", "lastPublishedDate": "2024-12-13", "name": "10% Discount Term-based", "priceTagType": "Term", "priceTiers": [ { "chargeModel": "PerUnit", "discountPercentage": 10, "endUnit": 12, "id": "a0YEi000002EbJVMA0", "name": "PT-00000000", "startUnit": 0, "tierNumber": 1 } ], "priceType": "Volume", "publishStatus": "Published", "recordType": "DiscountDimension", "startTime": "2023-03-31T16:01Z", "uomDimension": "Quarter" } ], "product": { "id": "01tEi0000088M9QIAU", "name": "Revenue Dashboard", "priceModel": "Recurring", "productCategory": "RecurringServices", "showIncludedProductOptions": false, "sku": "REVENUE_DASHBOARD" }, "quantity": 18, "refId": "25bb7873-7649-4c84-b2bd-e8dda2929e03", "startDate": "2024-12-13", "subtotal": 178.2, "term": 1, "uom": { "decimalScale": 0, "name": "User/Month", "quantityDimension": "User", "roundingMode": "Up", "termDimension": "Month" } } } }, "warnings": [] } ``` -------------------------------- ### GraphQL Query for Contact Data Source: https://docs.nue.io/self-service-reference-guide Example GraphQL query to retrieve contact information. This query shows how to fetch various attributes associated with contact records, such as billing and shipping details, email, and name. ```APIDOC Query Contacts: query { Contact { billingCity billingCountry billingState billingStreet billingZipCode birthday createdById createdDate customerId email firstName id lastModifiedById lastModifiedDate lastName middleName mobilePhone name shippingCity shippingCountry shippingState shippingStreet shippingZipCode suffix } } ``` -------------------------------- ### Activate 'Update Opportunity Pricing Fields' Flow Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Details on how to locate and activate the Salesforce Flow responsible for updating opportunity pricing-related fields when a primary quote is created or updated. This flow is essential for most customers. ```APIDOC Flow Activation: 1. Navigate to Setup > Process Automation > Flows. 2. Search for the flow named 'Update Opportunity Pricing Fields'. 3. Click 'View Details and Versions' from the action menu. 4. Activate the flow from the detail page. Purpose: Ensures opportunity pricing fields are correctly updated based on quote changes. ``` -------------------------------- ### Content Security Policy Directive Rendering Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Instructions to disable the 'Adopt Updated CSV Directives' setting to resolve issues with bundle images hosted on Amazon S3 not loading due to Salesforce security updates. ```APIDOC Session Settings Adjustment: 1. Navigate to Session Settings. 2. Locate the 'Content Security Policy Directive Rendering' section. 3. Disable the 'Adopt Updated CSV Directives' option. Purpose: Resolves conflicts with Salesforce security updates affecting S3-hosted image loading. ``` -------------------------------- ### Nue.io: Create Product and Price Tag Configuration Source: https://docs.nue.io/usage-accelerator-overview Configures a product with a usage-based pricing model, including SKU, description, default UOM, standard price, revenue model, and billing details. It also involves setting up a price tag that combines per-unit and flat-fee tiers for overage charges. ```NueAppConfig Product Name: VROOM Webinar SKU: VM-738493 Description: Pricing by Attendee Number Default UOM: Participant Standard Price: 0.79 Product Category: Recurring Services Revenue Model: Overage Usage Default Subscription Term: 12 Months Default Renewal Term: 12 Months Auto Renew: Checked Billing Timing: In Arrears Billing Period: Use System Default Status: Active Start Date: 01/01/2023 End Date: (Leave it empty) Can be sold independently: Yes ``` -------------------------------- ### Nue Salesforce Integration API Key Management Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Steps to resolve issues related to expired or improperly configured API keys for Salesforce Integration within Nue. This involves rotating the API key and reconfiguring it in Salesforce. ```APIDOC API Key Rotation and Reconfiguration: Action: Rotate API Key Location: Nue App → Settings → API Keys Method: Click the 'Rotate' icon next to the API Key used for Salesforce Integration. Follow-up Action: Reconfigure API Key in Salesforce Reference: Refer to the article at https://docs.nue.io/api-docs/api-keys for detailed instructions on reconfiguring and using the rotated API Key within Salesforce. ``` -------------------------------- ### Payment Application Example Source: https://docs.nue.io/collections-refunds-and-reversals Demonstrates the creation of payment application records when a payment is cancelled. It outlines the details of each application, including transaction amounts, record types, and operations, to reflect the unpay or unapply actions. ```APIDOC PAYMENT APPLICATION: __structure__: - PAYMENT APPLICATION ID: string (e.g., PA-001) - INVOICE ID: string (e.g., INV-001) - TRANSACTION AMOUNT: currency (e.g., $30) - RECORD TYPE: string (e.g., Payment, Credit Memo) - PAYMENT TYPE: string (e.g., Payment, Credit Memo) - OPERATION: string (e.g., Unpay, Unapply) - PAYMENT ID: string (e.g., Payment #1 ID) EXAMPLE SCENARIO: Invoice INV-001 has a total amount of $100. Received Payment #1: $70 total ($30 from credit card, $40 from credit memo application). User cancels Payment #1 in the external payment system. RESULTING PAYMENT APPLICATIONS: 1. PAYMENT APPLICATION: PA-001 INVOICE ID: INV-001 TRANSACTION AMOUNT: $30 RECORD TYPE: Payment PAYMENT TYPE: Payment OPERATION: Unpay PAYMENT ID: Payment #1 ID 2. PAYMENT APPLICATION: PA-002 INVOICE ID: INV-001 TRANSACTION AMOUNT: $40 RECORD TYPE: Credit Memo PAYMENT TYPE: Credit Memo OPERATION: Unapply PAYMENT ID: Payment #1 ID AFTER CANCELLATION: Invoice INV-001 balance: $100 Invoice INV-001 Payment Status: Transferred ``` -------------------------------- ### Salesforce Order Object Picklist Configuration Source: https://docs.nue.io/nue-on-salesforce-setup-and-configuration-guide Manually add a 'Canceled' picklist value to the 'Status' field on the Salesforce Order object. This is required because Salesforce does not support updating standard picklist fields via the Nue connection process. ```APIDOC Salesforce Object Manager: Navigate to Object Manager -> Order Order Object Fields: Click 'Fields and Relationships' -> Search for 'Status' field Status Field Detail Page: Create New Picklist Value: Label: Canceled API Name: Canceled Status Category: Activated ``` -------------------------------- ### Pricing Engine Response Example Source: https://docs.nue.io/client-side-pricing-engine This JSON structure represents an example response from the pricing engine, detailing changes in ACV, ARR, CMRR, TCV, discounts, and pricing totals for a customer. It includes both detailed and summary views of the pricing components. ```json { "details": { "deltaACV": 60, "deltaARR": 60, "deltaCMRR": 5, "deltaTCV": 5, "discountAmount": 0, "discountPercentage": 0, "id": "01tfJ000000LWT9QAO", "listTotal": 5, "netSalesPrice": 5, "salesPrice": 5, "systemDiscount": 0, "systemDiscountAmount": 0, "subtotal": 5, "totalAmount": 5, "totalPrice": 5 }, "summary": { "discountAmount": 0, "discountPercentage": 0, "listTotal": 5, "subtotal": 5, "systemDiscountAmount": 0, "systemDiscountPercentage": 0, "totalAmount": 5, "totalPrice": 5 } } ``` -------------------------------- ### Install Nue Pricing Client Library Source: https://docs.nue.io/client-side-pricing-engine Installs the JavaScript client library for the Nue Pricing Engine using npm. This package provides the core functionality for client-side pricing calculations. ```bash npm i @nue-apps/nue-pricing-clientjs ``` -------------------------------- ### Nue.io Product Option Configuration Source: https://docs.nue.io/configure-products-and-prices Describes the configuration of product options within the Nue.io platform, specifically for 'Vroom Phone Hardware as a Service' and 'Professional Services' as add-ons to a bundle. ```APIDOC Nue.io Product Option Modal Configuration: Product: 'Vroom Phone Hardware as a Service' (Add-on Product) - Options: - Allow Editing of the Product Quantity: Enabled - Allow 1 Units for Free: Enabled - Connect to Bundle Quantity: Disabled - Behavior: - Grants 1 free phone when added as an add-on. - Customer can purchase unlimited additional units. - Add-on quantity is independent of VROOM BUSINESS license count. Product: 'Professional Services' (Add-on Product) - Options: - Allow editing of product quantity: Enabled - Default Quantity: 20 - Quantity Range: Minimum 1, Maximum 200 - Add-on Price: $100 (overrides list price of $250) - Free Hours: 20 hours - Connect to Bundle Quantity: Disabled - Add-on Preference: 'Required Product' - Behavior: - 'Professional Services' is a mandatory add-on. - First 20 hours are included free. - Hours exceeding the free tier are charged at $100/hour. - Maximum purchase limit is 200 hours. - Add-on quantity is independent of user licenses. ```