Find Jobs
Hire Freelancers

Algorithm for Matching Invoice Payments

$30-250 USD

In Progress
Posted over 12 years ago

$30-250 USD

Paid on delivery
For a better formatted document, download [login to view URL] Mathematical model / algorithm to assign a payment amount exactly to a number of outstanding invoice transactions. This is required for an accounts program that is being developed. Scenario: Customer pays x-amount as payment and there are y-number of outstanding invoices / credit notes. The objective is to second guess the customer and identify which invoices / credit notes the payment relates to. This may not always be possible because the customer records may not match ours. However, if the amount being paid is for some or all of the items in our list, then the algorithm should select the correct list of items. As the number of items in the list increase, the number of permutations grow exponentially. After predetermined number of attempts, the algorithm should either give up or make the best job it can (minimum outstanding balance; remaining balance can be zero or positive but NOT negative) before giving up. Amount Paid: x-amount Item Date Type Amount 1. 11/01/2011 Invoice Owed-amount1 2. 18/01/2011 Invoice Owed-amount2 3. 25/01/2011 Invoice Owed-amounr3 4. 03/02/2011 Invoice Owed-amount4 5. 08/02/2011 Credit Note Credit-amount1 6. 15/02/2011 Invoice Owed-amount5 7. 22/02/2011 Invoice Owed-amount6 8. 25/02/2011 Invoice Owed-amount7 9 28/02/2011 Invoice Owed-amount8 10. 04/03/2011 Credit Note Credit-amount2 11. 08/03/2011 Invoice Owed-amount9 Points to consider: The list of items will be in date order and the older items are likely (but not necessarily) to be paid before the newer ones. If there are any credit notes, then there is a big chance that it matches one or more invoices in the list. If credit notes cannot be matched to invoices, the credit balance may be added to the amount paid by the customer. It is possible that the amount paid is for the invoices only and the credit notes should be ignored. The algorithm should be efficient and take into account that the number of items will vary for each instance. Ideally I would like the solution in C# but will accept a flowchart or some other suitable form. I must have unrestricted rights to utilise the solution without infringing any copyright and without having to make any additional payments.
Project ID: 1182412

About the project

4 proposals
Remote project
Active 13 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hi,I can do this [login to view URL] check your inbox for more details.
$120 USD in 3 days
4.8 (41 reviews)
5.0
5.0
4 freelancers are bidding on average $180 USD for this job
User Avatar
see private message
$200 USD in 10 days
5.0 (4 reviews)
4.3
4.3
User Avatar
Hi. I'm a Computer Science student. Finding an optimal solution seems to me a as a problem in NP-Hard. My plan for finding an efficient algorithm would be this: - Check if the problem is in NP-Hard - Depending on that find the optimal solution otherwise find an appropriate approximation algorithm.
$250 USD in 14 days
5.0 (1 review)
1.4
1.4
User Avatar
Hai, please check PM. Thank you
$150 USD in 4 days
5.0 (1 review)
1.4
1.4

About the client

Flag of UNITED KINGDOM
ROTHERHAM, United Kingdom
4.2
22
Payment method verified
Member since Mar 31, 2009

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.