farmerswife allows you to import and export Objects, Activities, Classes, Resources, and modify the existing ones, by using a CSV file (in Excel or Numbers).
Important: Take care when entering or modifying the information prior to an import; "wrong" entered data can cause the import to crash. To avoid "wrong" data: keep the same format as in the reference files and take care when copy-pasting information from other files; they might contain so-called "Gremlin" characters which can cause the WIFE Client to crash after the import.
TABLE OF CONTENTS
- How to import/ export
- Preparing the Import Files
- Values / Column description available for import/export
- Importing Activities
- Importing Users
- Differences in importing Resource Contacts
How to import/export
Options are available in the "Import/ Export farmerswife Objects Format CSV File" from the drop-down menu.
Import Settings
- Update Object If Name Matches When Importing: by default turned OFF. Do not use unless recommended by farmerswife support. Should only be used if you intend to import the same list of objects multiple times in a row to update the Objects immediately without exporting the objects with their assigned ID. However usual procedure when preparing your database is to import your list of equipment to get them created in farmerswife, then later on export these Objects with assigned ID to edit them and import them back to update them.
When importing new Users with an already existing name and having the importer setting “Allow Updating Object If Name Matches When Importing” is NO, the name is changed to be unique e.g. “Peter (2)” etc. which is important to ensure to keep unique Nick Names for Users. - Import: Opens the file browser for you to choose the import CSV file.
- Export: first select one or multiple Objects. Choosing Export will open a file browser for you to save the file, and then it will open with the default spreadsheet application. Each created or imported Object will get an ID number in farmerswife, so when you are exporting a selection of Objects to make multiple changes in the list, and then reimport, farmerswife will match the Objects by its ID and only update the values that have been changed.
- Import / Export Accessories: when enabled, you can export and import Accessories to Object or Object Classes. See more further down.
- Import / Export Activities: (available from 6.6 SP2) Use this option if you need to apply or update several-day prices on long lists of equipment by displaying the Activities on columns rather than rows. See more further down.
- Activity Day Sell Column: Used in combination with the above option.
Recommended steps on how to proceed when importing Objects in an Empty Database:
If you plan to rename Object Types or use and Language String Operators, first set them up. Then make sure you use those names in the Import file.
Add all Object Custom Fields and Object Custom Field Templates and keep the same naming in the import files.
First import Object Classes that will be Parent Classes, and have icons already assigned to them, otherwise, they will all have the same default icon.
Import Object Classes, and connect them to the existing Parent Class (column G).
Import Activities of the Classes with the same sheet. See import format further down.
Import Objects, and connect them to the existing Object Class that you imported in step 2.
Preparing the Import Files
Prepare the Object Custom Field templates prior to import
Prior to the import make sure to add all the Object Custom fields and save them as Object Custom Field template/s. You can set up different Custom Field templates with different fields and apply them to your Objects.
Prepare the import CSV files
Prepare the list/s with Objects and save them as CSV file/s. We recommend preparing and importing separate lists per each Object Type.
1. Choose one or more Objects in the farmerswife database inside of the Object Manager and choose the option to export this item. Or take the Object Importer CSV file example attached to this article.
2. Add all Object Custom fields and the corresponding template name to the sheet as column headers. See the “Equipment/Machine Details” example in the example files.
To get the correct naming and a quick list of all Custom fields, we recommend creating one Object per Type, assigning the corresponding template, and exporting to get the matching export/import file created.
Values / Column description available for import/export
- ID* (Column header has to be with *): Leave empty and don't modify if an id exists, fw uses this to know how to update an existing object in case data came from export. This column must exist or the importer will fail.
- Name* (Column header has to be with *): Object’s Name. This must be defined or the row will be ignored. This column must exist or the importer will fail. If Names are identical only the last of the identical Objects will be imported UNLESS different Inventory Numbers are given to the Objects.
- Type: write the correct Type name - it is always easier to start from an exported Object of the same type to copy the name, e.g. Object Classes, Resources, Services... If a type is misspelled or can't be recognized during import, fw will ask upon importing where Objects should be added.
- Division: type the Division name the Object should be assigned to, as it is entered in the Server Setup > General Tab.
- Activities: Only for Classes, Groups, Users, Objects, not Extras, Time Units, or Media Orders. Separate with a comma for multiple Activities e.g.: Editing, RedKit2.
To import new Activities, add extra rows under the Object that the new Activities should be added to and set the Type = "Activity". Also add Rates, Icons, etc.
If the separate Activity Rows are not added, the comma-separated Activities will be added regardless to the Object/Class but without Rates, etc.
If using Activities on Object Classes, first list the Class and underneath the Activities, each in a separate Row.
If using Activities on the Object itself, list them below the Object Row. See import example for further explanation.
See further down how the option "Importing Activities" works to define day-rate activities - especially designed for a rental workflow. - Object Classes: Type existing class names or a new name, if farmerswife fails to find a class with that name it will create one for you. Comma separate multiple Classes that the Object should belong to e.g.: Avid Suites, Suites, Offline
- Parent Object Class: when importing a list of Classes you can define the Parent Object Class. Only one Parent Class can be listed.
- Groups: Type existing group names or a new name, if farmerswife fails to find a group with that name it will create one for you. Comma separate multiple Groups that the Object should belong to e.g.: RedKit1, RedKit2
- Accessories: This is for visual information only. You cannot add or delete Accessories via this column.
- Inherit Rate From Object Class: set to 1 IF the Object should inherit the rates of an Object Class. If the assigned Classes have Activities, they will be shown in the 'Advanced' Preferences of the Object if this option is enabled.
- Buy: Buy Hour/Unit Rate of the Object
- Sell: Sell Hour/Unit Rate of the Object
- Day Buy: Buy Day Rate of the Object
- Day Sell: Sell Day Rate of the Object
- Default Is Day Rate: If the Object’s default rate is Day or Hour (checkbox next to day/hour rates in Object/User setup). Default is No.
- Active: set to 1 for setting the Object Active = Yes. Set to 0 for Active = No. If empty > on import will be set Active=Yes.
- Note: the Note of the Object
- Confirm Note: Note that appears at the moment of Booking the Object (not for Extras)
- Icon: Any existing farmerswife icon name e.g. “burger”, “hammer”, “monitor etc. Leave empty for default generic icon.
- Ref: Object’s Reference number, often this is what is used when exporting and referencing this object in an external financial system.
- Inventory Number: must be unique. If you’ve two objects with the same Inventory Number, only the last Object will be imported (each Object will be overwritten by the next one with the same number, thus only the last remains). Is 'Number' for Users upon import.
- Causes Conflict: If Disabled this Object can take multiple confirmed booking allocations and also when dispatching the object it can be checked out even if it's already out e.g.; Virtual Objects like Cables, Batteries. The system default is “Yes” = 1
- Tax: If Tax is Applied to this Object when billing. The system default is “Yes” = 1
- Custom Fields Template: Must match the name of an existing Object Custom Field template. Remove this column unless you really need it.
- First Name: Only for Users and Resources.
- Last Name: Only for Users and Resources.
- Company Name: Only for Users and Resources.
- Email: Only for Users and Resources.
- Units Name: Plural Force Unit Name on Extras.
- Unit Name: Singular Force Unit Name on Extras.
- Address: Only for Users and Resources.
- Title: Only for Users and Resources.
- Phone Home: Only for Users and Resources.
- Phone Direct: Only for Users and Resources.
- Phone Work: Only for Users and Resources.
- Phone Mobile: Only for Users and Resources.
- License Type: Only for Users and Resources. Can be "Web" or "Advanced".
- Menu Group: Only for Extras
- Allow Multiple Checkout: EMT option setting (licensed option). Set to 1 if the Object is a consumable Object (Virtual Object). Please refer to the EMT section for further explanation on Virtual Objects.
- Expected To Be Returned: EMT option setting (licensed option). This is to get a warning if an Object was returned. Tick it off if the Object is a consumable that won’t return because it will be used (e.g. gaffer tape).
- Inherit Matching Object Custom Values From Contact: Only for Users. This can point to a Contact in the exact format: “first last / company”. Please consult with [email protected] for further explanation on how and when this would be used.
- Selective Class Inherited Activities: If the Server Setup > Bookings > Inherit Selective Activities = Yes, then comma separate here the Activities, that an Object belonging to a Class should inherit - if the Server Setup setting = NO, then all Object Class Activities will show up in the Advanced Preferences of the Object that has the “Inherit Rates From Object Class” = “Yes”.
- Activity Is Default: Only for Activities. Can be 0, 1, or the name of Object Class when it is the default when being used by a specific class. Especially useful if using Frameworks... consult with [email protected]
- Activity Overtime: Only for Activities. Must be entered in exact same format as: {hour on which overtime kicks in Buy Day Sell Overtime %} e.g.{10.0 120 120} {8.0 100 100}. Do NOT comma separate.
- Locked: (v7.1 onwards) 0 indicates it is not locked (due to Password Policies restrictions setting the User to locked if s/he typed in the password incorrectly or by setting the User to locked manually. 1 means the User is locked.
- Permission Profile: (v7.1 onwards) Here it is possible to import or export the User Permission Profile name. You can export Users and change the User Permission Profile in the csv file and re-import it. However when importing a new User, and if there is no a Name set for the "User Permission Profile" or not the correct "License Type" ("Advanced" or "Web User") set, then the default License Type will be "Web User" and default "User Permission Profile" will be the first one saved.
If a Web Permission Profile was deleted the current User do not have a Permission Profile assigned anymore and a newly imported Web User that would have this "non existen Web Permission Profile assigned" as well as the User with not Web Permission Profile get the next Permission Profile in line (below the one that was deleted) assigned.
Also, if an Advanced Permission Profile was deleted in the Object Manager on an already existing User it would jump to "Custom", however when importing the new User with the now deleted User Permission Profile all those Users (including the already existing one) will get the default = first created and still existing Permission Profile applied! - Budget Accounts (Object) - enter the Budget Account Number in which this Object should be listed as Default Object when adding Objects to that Account. Read more in the Budgeting Setup section.
- Budget Accounts (Object Class)
Importing Activities
The option to "Import / Export Activities", available from 6.6 SP2, has been specially designed if you need to apply or update several prices on long lists of equipment, by displaying Activities on columns (rather than rows). Of course, this can be used on other scenarios as well, having in mind it ONLY allows adding and updating DAY SELL Rate Activities.
How to create new Activities using the "Activity Day Sell Columns":
1. The Activities you wish to apply to new Objects must exist on the database. So, first, open just one of the Objects or Classes to create them. Remember they need to be day-based.
2. Next, choose the Activities that will get created as columns on the CSV file. In Object Manager, click on the menu > “Import/Export Objects from CSV file” > “Activity Day Sell Columns” > tick only the Activities that you wish to get on the CSV file as columns.
3. Click on the menu again > “Import/Export Objects from CSV file” > untick the option “Import/Export Activities” to avoid getting the Activities also showing as rows below each Object they belong to (as now they will show as columns).
4. Export the Objects or Classes where you wish to add these new Activities.
5. The CSV file shows each of the Activities ticked on step 2 as separate columns starting on column F.
6. Once you fill in the day-sell rate for each Activity on the corresponding cells, and import the CSV file back, the Activities with a value will get added to the corresponding Object. Those cells that are left empty will not create the Activity on the corresponding Object when imported back.
How to update existing Activities:
1. If you only need to update the day-sell rate of existing Activities, then you just export the Objects or Classes where these Activities exist and update the corresponding cells - without changing any options mentioned above.
2. But should you need to change anything else on these Activities, other than the day-sell rate, i.e. add a buy rate or change the Activity’s icon, then first enable the option “Import/Export Activities” mentioned in step 3 above, and untick the Activity mapping from the option “Activity Day Sell Columns” explained on step 2.
3. As you export the CSV file, the Activities will show as rows below each Object they belong to, as usual.
Importing Accessories
When enabled, Accessories are being exported and imported.
There is an Accessories column in the CSV file that is for visual information only - Accessories cannot be added nor deleted via this column. The Accessories are displayed separated with a comma.
How to export Accessories:
The main Object will be the first line, displaying in the rows below any Accessories the main Object has.
The Type column will display either "Accessory" for Objects or "Accessory (Object Classes)" for Classes. This is only available in the spreadsheet and not in the "Type" selector of the Object Manager.
It is possible to determine the order of the Accessories. The first Accessory below the main Object will be the first Accessory when booked. By juggling the rows in the CSV file it is possible to sort the Accessories to your needs.
How to import Accessories:
If you import an Object that hasn't been created in your database yet, you can import it as an accessory to the main Object by placing it below the main Object and altering the type to "Accessory" (type of Object Manager) e.g. Baseplate Accessory (Equipment/Machines).
Object Class Accessory: HDD Drive "Accessory (Object Classes)". The imported Object will be created in the farmerswife database and will be an Accessory to the main Object.
Here an example:
Imported new Objects:
Main Object with its Accessories:
Importing Users
When you import users the Password will be the 'Nick Name' after the import. On the next export/ import, the password is skipped. Further updates on the passwords need to be done through the application itself:
- Password: Nickname after import
- User NUMBER appears in the 'Inventory Number' columns in Object Manager and in the OTHER field on contacts.
Differences in importing Resource Contacts
See below a few differences in importing Resources via Server Setup > Contacts > Import and fw Client > Object Manager > Import.
In general, we recommend importing Resources via Object Manager (from version 6.1 and onwards).
- Server Setup > Contacts
- Can import CONTACT Custom Fields.
- Can import Object Custom Fields.
- Can import Permission Profile.
- Can import Web Access flag yes/ no.
- Can import normal_time_dur and time_in and time_out => which is "Working Time Hours" in/out and "Duration".=> for more information refer to the Server Setup Manual > Contact article
- Object Manager
- Cannot import CONTACT Custom Fields
- Can import & update Object Custom Fields
- Cannot import Permission Profile (but it's very quick to copy a user profile to buffer and apply to other users)
- Cannot import Web Access flag yes/ no (you need to turn off/on manually per Resources anyway again to trigger the email to be sent)
- Cannot import "Working Time Hours" in/ out and "Duration" (will be set to default times, which is usually the case)