Created by Damien Zwillinger, Modified on Wed, 17 Apr 2024 at 10:07 PM by Damien Zwillinger

Applies to:

  • Velixo NX
  • Sage Intacct

The SI.WRITEBACKPROJECTESTIMATE function creates or updates a project estimate in Sage Intacct.



=SI.WRITEBACKPROJECTESTIMATE (ConnectionName, EstimateID, ProjectID,Date, Description, IsPrimary, EstimateType, PostingSetting, EstimateStatus, CustomFields, LineUpdateKey, LineDescription, LineAccountCode, LineQuantity, LineExternalUOM, LineUnitCost, LineAmount, LineProductionUnits, LineWorkflowType, LineEffectiveDate, LineDimensions, LineCustomFields, EstimateIdOutputCell, LineUpdateKeyOutputCell) 



The SI.WRITEBACKPROJECTESTIMATE  function uses the following parameters:


Required/ Optional




The name of the connection as configured in the Connection Manager

EstimateIDOptionalThe EstimateID to be used in Sage Intatct
ProjectIDOptionalThe ProjectID to be used in Sage Intacct
DateOptionalThe estimate date
DescriptionOptionalA textual description of the Project Estimate
IsPrimaryOptionalTrue or False
Specifies if this is the primary estimate for the project
Estimate TypeOptionalName of a project estimate type that defines a subset of workflow types
Posting Settings

A two-column Excel range where the first column contains a posting setting name, and the second column contains the respective value for that setting.

Postings settingsDescription
shouldPostPost to the GL Budget
Values: TRUE; FALSE 
budgetIdA valid GL Budget ID
postToGL Budget period, either First periodAll periodsEstimate date, or Effective date. (Default: First period)

For example:

=HSTACK({"shouldPost";"budgetId";"postTo"},VSTACK(TRUE,"MyBudget","Estimate date"))

Estimate StatusOptionalThe status of the project estimate.

Possible values:
  • active
  • inactive
  • finalized
Custom FieldsOptionalA two-column Excel range where the first column contains a posting setting name, and the second column contains the respective value for that setting.
Line Update KeyOptionalPossible values:

  • A Record Number - only the line (within the existing Sage Intacct Project Estimate) with that record number will be updated during the writeback process.

  • Blank - only new rows within the writeback worksheet will be sent to Sage Intacct. Any existing estimate lines (within Sage Intacct) will be preserved.

  • #recreate - all existing estimate lines (with the Sage Intacct Project Estimate) will be deleted and replace with the lines being written to the project estimate. When using this option, it is required that *all* writeback lines contain "#recreate" as the LineUpdateKey
Line DescriptionOptionalThe memo for this entry
Line Account CodeOptionalThe GL account number for which applies to the estimate
Line Quantity
Line External UOMOptionalExternal unit of measure.  200 characters max.
Line Unit Cost OptionalUnit cost (or Unit rate)
Line AmountOptionalRequired if Line Quantity and Line Unit Cost (or Line Production Units) are not specified
Line Production UnitsOptionalThe production unit value to be sent to Sage Intacct
Line Workflow TypeOptionalThe workflow type for this entry.

Possible values:
  • original
  • revision
  • forecast
  • pending change
  • approved change
  • other
Line Effective DateOptionalDate that the transaction entry comes into effect from a GL budget or reporting perspective. Set if Posting period (Postto) value in Posting Settings is set to Effective date
Line DimensionsOptional


  • A two-column Excel range, where the first column contains the name of a predefined analytical dimension (e.g. department, customer, project etc.), and the second column contains the semicolon-separated list of values for that dimension. OR
  • A multi-column array where the first row (or column) of the array contains the name of a predefined analytical dimension, and the remaining rows (or columns) contain the individual values for that dimension.

For more in-depth information about filtering by Dimensions: see Using Dimensions

Line Custom FieldsOptionalA two-column (or two-row) Excel range where the first column/row contains a posting setting name, and the second column/row contains the respective value for that setting. 
Estimate ID Output CellOptionalA reference to a cell to which the resulting estimate ID should be sent
Line Update Key Output CellOptionalA reference to a cell in which the resulting update key is to be placed

* see Filtering Techniques for Velixo Functions

Note: For extra information, please refer to the Sage Intacct API documentation at: Project Estimates | Sage Intacct Developer 

Sage Intacct Overriding Specified Account



Under certain circumstances, Sage Intacct can override the Account specified in the Project Estimate Writeback - the account configured for the respective Task and/or Cost Code may take precedence.

If it is desired to ALWAYS use the exact account specified in the writeback function, the following setting can be enabled within Sage Intacct:

Open the company in Sage Intacct.  Navigate to the Project->Configuration page and check the Override GL account at estimate line in the Project estimates section. Click Save.

Creating Multiple Project Estimates

If there are multiple writeback functions on the worksheet that intend to create a *new* estimate (i.e., the EstimateID is not provided), *and* if those functions specify different values for the Description field, then Velixo will treat this as an intent to create different estimates during the same writeback run.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article