OK - here are some suggested starting points for tables:
---
tblClients (note that this could also hold other entities, such as
payees, payers, etc. - if you do that, you might want another
table called tblRoleTypes where you can store what role(s)
an entity can have)
ClientID (primary key)
ClientName
ClientAddress
(etc.)
tblReturnTypes
ReturnTypeID (primary key)
ReturnTypeName
tblReturnProcessTypes
RetProcessID (primary key)
RetProcessName
tblProcessorTypes
ProcessorTypeID (primary key)
ProcessorTypeName
ProcessorTypeAddress
(etc.)
tblReturns
ReturnID (primary key)
ClientID (foreign key to tblClients)
ReturnTypeID (foreign key to tblReturnTypes)
(etc.)
tblReturnProcessing
ReturnID (composite primary key with RetProcessID --
and with ProcessorTypeID if more than one processor
is possible for a single process type)
RetProcessID (composite primary key with ReturnID --
and with ProcessorTypeID if more than one processor
is possible for a single process type)
ProcessorTypeID (possible composite primary key with
ReturnID and RetProcessID)
DateSubmitted
DateCompleted
tblPaymentTypes
PaymentTypeID (primary key)
PaymentTypeName
tblPayments
ReturnID
PaymentTypeID
PaymentAmount
PaymentDate
PaymentToWhomID
PaymentFromID
(etc.)
and so on....