private void readOpenItems()
	{
		try
		{
			CsvReader csvReader = new CsvReader(sourceFileOpenItems);
			if(csvReader.readHeaders() == true)
			{
				while(csvReader.readRecord()==true)
				{	
					//apar_id,apar_name,address,place,province,Country_code,zip_code,telephone_1,comp_reg_no,acctype
					// TODO : constants for each header ?
					String id = csvReader.get("apar_id");
					String client = csvReader.get("client");
					String openAmount = csvReader.get("rest_amt");
					
					// if client filter passed in, then use it
					if(clientFilter.length()==0 || client.equalsIgnoreCase(clientFilter))
					{
						Company c = allCompanies.getCompanyFromId(id);
						if(c!=null)
						{
							double val = XmlHelper.getDoubleFromXmlString(openAmount);
							c.getOpenBalanceCollection().upsert(new DoubleDatedValue(Calendar.getInstance().getTime(), val));
						}
					}
				}
			}
			csvReader.close();
		}
		catch(FileNotFoundException fnfe)
		{
			logger.warning(fnfe.getMessage());
		}
		catch(IOException ioe)
		{
			logger.warning(ioe.getMessage());
		}
		catch(Exception e)
		{
			logger.warning(e.getMessage());
		}
	}