Import Fixed Price

This feature allows for the importing of Project or Task level fixed price entries into the Unanet system.

Note that this import can be used to insert new records and delete existing records, but cannot be used to update any existing entries.  Further, you cannot import fixed price schedules, thus there is no option that corresponds to the "Custom Schedule" option available within the user interface.  The project (or Task) must have a Billing Type of FP (Fixed Price) in order to import fixed price items.

Within one fixed price import file, an Administrator can import project or task fixed price entries for one to many projects and tasks, across multiple organizations if desired.  The Billing Manager version of the import restricts the importing of project and task fixed price entries to the specific org/project the Billing Manager is currently operating on.


This screen is available to users having any of the following roles: Administrator, P&R Administrator (and Billing Manager has a project level version).


This feature is available with any Unanet edition.

Performance Tip Note:  Depending on the number of users in your installation and other factors such as the overall performance of your platform, the activity of importing one or many files may take up to several minutes.  Should this be the case with your installation, you may want to consider running these processes at non-peak times to minimize database contention.


Topics covered on this help page include:

Import File Record Layout



Field Header Name





ALWAYS REQUIRED.  This code uniquely identifies the Organization to which the project belongs for which you are attempting to import fixed price items.  This value must match an existing Project Organization Code value defined in your system.  If the Organization value you supply does not already exist in the database, the entire record will be rejected.




ALWAYS REQUIRED.  This project code identifies the project to which this Fixed Price entry belongs.   This value must match an existing Project Code value defined in your system.  If the Project value you supply does not already exist in the database, the entire record will be rejected.

The project or task must have a Billing Type of FP (Fixed Price) in order to import fixed price items.




CONDITIONALLY REQUIRED.  This field is only necessary if you are attempting to create fixed price entries at the task level.   

This value must match an existing Task Name value in your system for the given project.  If the Task Name you are trying to import does not already exist in the database,  the entire record will be rejected.

If a task is not a top-level task (e.g. it is a sub-task), you must include a comma separated list of each task starting at the top level down.  The following is an example of a valid task tree and how you would reflect each task using this import.

Task Tree Access String

1.   Car Repair

"Car Repair"

1.1     Tires

"Car Repair,Tires"

1.2     Paint

"Car Repair,Paint"

1.2.1      Prep work

"Car Repair,Paint,Prep work"

1.2.2      Patching

"Car Repair,Paint,Patching"

1.3     Engine

"Car Repair,Engine"

1.3.1      Tune-up

"Car Repair,Engine,Tune-up"

1.3.1      Rebuild

"Car Repair,Engine,Rebuild"


The task must have a Billing Type of FP (Fixed Price) in order to import fixed price items.

See the Excel Tips regarding the use of double quotes and more.




ALWAYS REQUIRED.  Additional description or comments about this fixed price item.

Maximum Length: 128 characters




CONDITIONALLY REQUIRED. This field can be used to specify a date with which a fixed price item becomes eligible to be included in a billing post process.

Whether this date must be provided is dependent on the Bill_On_Completion value.

  • If Bill_On_Completion is "N" (or blank as it defaults to "N"), this field is required.
  • If Bill_On_Completion is "Y", any value supplied in this field will be ignored (and can be left blank).


Basically, you must either specify that this will be billed upon completion or you must provide the date it will be billed.

Recommended date format:   yyyy-MM-dd   

See Allowable Date Formats for more options.




CONDITIONALLY REQUIRED. Valid values include Y or N (if not provided, N is the default for a new entry).   If this value is Y, then any value supplied in the Bill_Date field will be ignored.

A value of "Y" indicates that the item's eligibility is linked to the project / task date (Completed or Revised End Date).  The date used when projecting future fixed price item billing eligibility will be the Task's Revised Date unless a Completed date has been populated on the task (in which case the Completed Date will be used).




ALWAYS REQUIRED on ADD. The Bill Amount is a required field when entering a Fixed Price Billing Item.  This amount can be positive or negative. This value is not considered on delete.

This field accepts a numeric value up to 13 positions to the left of the decimal and 2 positions to the right.




ALWAYS REQUIRED.  The valued supplied in this field will determine when the revenue for this item should be recognized.  

Note that you cannot import fixed price "schedules", thus there is no option in this field that corresponds to the "Custom Schedule" option available within the user interface.

Allowable values include:






This field can be used to trigger the system to delete a fixed price item.  In order for the delete to happen, you must include the following text string !DELETE! in this field.

You will also need to supply the other required fields in order to identify which items to delete, including:

  • Project_Org_Code
  • Project_Code
  • Task_Name (if this is a task level fixed price item)
  • Description
  • Bill_Date or Bill_On_Completion (see conditional rules above)
  • Revenue_Recognition_Method


The delete will remove one or many values that match the criteria suppled for the above list of fields.  

  • Note that any Bill_Amount value suppled when attempting a delete is not consider when identifying matching entries to delete.  
    • For example, if you have three identical fixed price items differentiated only by amount, importing a single delete record with criteria that matched the first of those three entries would result in all three entries being removed.
    • Because you can create identical fixed price item entries (ie uniqueness is not enforced) the system will delete all entries that have matching criteria.
  • If the fixed price item has already participated in a billing post process, the deletion will be prevented.
    • Should multiple fixed price items have matching criteria, If any of the matching entries has participated in a billing post process, no matching records will be deleted (you will need to manually delete the desired fixed price entries via the user interface for that particular project).


Note: Check out the Unanet Data model for specific field data types, lengths, and other attributes.

Import File Format

The file to import must be saved in a comma delimited format.   The fields can be enclosed in double quotes -- which would be particularly necessary should the data being imported contain commas.

Importing a Sub-Set of Columns using a Field Header Record

If you are not using the default column layout sequence as defined above, you must include a header record (prefixed with an asterisk *), containing the column Header Names for those columns you are including in the import file (to indicated what data is contained in each column).  The specific Header Names for each column are listed in the table above.



Excel Template

You can create the comma delimited import file with any number of tools.  For those interested in using an Excel spreadsheet to create the file, you can download an Excel Template with predefined headers and required fields noted.  

See the Excel Tips regarding the use of double quotes and more.

Import Screen

Depending on your property settings,the Import Fixed Price screen may look like:

Field Descriptions:



Type of Import

Select the appropriate import type from the list of available types of imports.

File to Import

Enter (or browse for) the file that you would like to import.

Output Options

Specify the level of detail included in the output.


The import process is triggered by pressing the Import button.  All Warnings and Error messages are written to the screen and can then be saved if desired.  While some line items may be found invalid and rejected, the remaining line items will be successfully imported and saved in the database.  The rejected line items will be written out to a file on the Unanet server as well as displayed at the bottom of the user feedback screen.  The rejected record file name will be UnanetFixedPriceImportErrorxxx, where xxx is a randomly generated number.  The file will be placed in the Unanet temporary directory (which is defined by the Temp Directory (Fully Qualified Directory Name) (unanet.temp_directory) Unanet property).

Related Topics