I was having a hard time to get syncevolution working
with horde so i want to share my experiences with the rest of the world.
In the end its really simple. You need to setup the folder:

mkdir ~/ .config/syncevolutin

There you creat a folder with the servername for instance:

mkdir ~/ .config/syncevolutin/servername

Now create a new file named: config.ini with the following contents:

syncURL = http://horde.url/rpc.php
_username = horde_un
password = horde_pw
deviceId = sc-api-nat-_

where is a unique identifier.

Next make a folder called sources.

Inside them create a folder for each service you want to synchronize.
In my case i made four:

mkdir contacts calendar tasks memo

_Inside them you need again a _config.ini with the following appropriate contents:

type = text/vcard
uri = contacts

type = text/calendar
sync = two-way
uri = calendar

type = text/x-todo
sync = two-way
uri = tasks

** type = text/plain
uri = memo

Now start the synchronization with:

syncevolution servername

__Now everything should work fine. At least it did for me.
If you want to debug the process you can set the debug level in:

servername/config.ini with
loglevel = 0…3

__Where 3 is the the level with the most debug information.

Syncevolution saves the local data in the default appropriate
category of each synchronized entity. So there is no need to
setup anything in evolution.