Flutterwave explained: products, fees and how to use it for your business
Flutterwave explained for Nigerian business owners: what it does, how much it costs, how to set it up and when to use it for payouts, bills or foreign customers.
In this article15 sections
- Flutterwave explained in plain English
- Flutterwave explained: the products you will actually meet
- How much does Flutterwave cost in Nigeria?
- Which Nigerian businesses benefit most from Flutterwave?
- How to open a Flutterwave account and get verified
- Connecting Flutterwave to your website or app
- Getting paid from abroad and in other currencies
- Beyond checkout: payouts, bills and virtual accounts
- Risks to plan for and how to protect your account
- Flutterwave, Paystack or something else? How I choose
- Why Flutterwave matters in Nigeria right now
- Common mistakes and a 14 day plan to start well
- Key takeaways
- Frequently asked questions
- Next step: connect payments the safe way
Tunde plans weddings in Lagos. Half of his clients live in London, Houston or Toronto, and they want to pay in pounds and dollars. For two years he collected deposits through a cousin’s foreign bank account, then chased the cousin for the naira. Every payment came with a “please confirm you received it” message and a week of waiting. One client nearly cancelled a ₦4,500,000 wedding because the deposit trail looked messy. Tunde did not need a bigger business. He needed a proper way to be paid from abroad and at home.
This guide is Flutterwave explained in plain English, for business owners and not for programmers. Flutterwave is one of the best-known payment companies built in Africa. You may have seen its logo on a checkout page, a ticket site or a bill payment screen. I set it up for clients in Abuja, Lagos and Port Harcourt, and I use it when a business needs multi-currency payments, payouts or bill features.
By the end you will know what Flutterwave does, which of its products match your business, how the fees work with naira examples, how to open an account, how to connect it to a website safely, and what to watch out for. Figures from news reports or company statements are marked “reported” or “publicly stated”, and prices change, so check the official pages before you decide.
Flutterwave explained in plain English
Think of Flutterwave as a bridge. On one side stand your customers, who pay with cards, bank transfers, USSD codes or mobile money. On the other side stands your bank account. Flutterwave builds the bridge and keeps the traffic moving, and it charges a small fee for each crossing. It also gives you a dashboard where you can see who paid, how much, when and how.
What Flutterwave actually does
Flutterwave is a payment gateway (a service that connects your website or shop to the banks and card networks) and a payments platform. The core job is to collect money from customers and send it to you. Around that core, it has added ways to send money out, pay bills, create bank account numbers for customers, and accept payments in several currencies. For a business owner, the most useful idea is this: one account, many ways to get paid, one place to see the records.
Who started it and how it grew
Flutterwave was founded in 2016 by Iyinoluwa Aboyeji and Olugbenga Agboola, known as GB. Aboyeji is also known as a co-founder of Andela, the company I write about in my article on Andela and Nigerian tech talent. Flutterwave has been reported to run its headquarters in San Francisco with a large team and operations in Lagos, and it has publicly said it works across many African countries. Its early checkout product was known for years under the name Rave before the company brought its tools under the Flutterwave name.
The unicorn headlines and what they mean for you
In 2021 and 2022 the company was reported to have raised large funding rounds, one reported at $170 million and another at $250 million, with the later round said to value the business at around $3 billion. It was described as a “unicorn” (a startup valued at more than $1 billion). Do these headlines matter to a shop owner in Enugu? Only a little. A big funding round does not make your payments faster. What it does suggest is that global investors believed African payments would grow. For you, the practical question is simple: does the product work for my business, at a price I can carry, with support when things break?
Flutterwave explained: the products you will actually meet
Flutterwave has many products, and some are renamed or retired over time. Below are the ones that matter most to small and medium businesses, based on what the company has publicly described. Open the official site to see the current list.
Checkout: hosted page and inline popup
This is the main tool for websites and apps. There are usually two styles. In the hosted style, the customer is sent to a secure Flutterwave page to pay, then returns to your site. In the inline style, a popup opens on your own page. Both let the customer choose from the available payment methods. You never handle card numbers yourself, which lowers your security burden. My e-commerce website development includes connecting and testing checkout like this.
Payment links and online store tools
Payment links are for people who sell through WhatsApp, Instagram or Facebook. You create a link with an amount, share it, and the customer pays. Flutterwave has also offered store tools for businesses that want a simple online shop without building a website. These are useful for a new business or a side hustle. When sales grow, most owners in my client list move to a proper website so they control the customer experience and can grow.
Payouts, bills and virtual accounts
Payouts let you send money to bank accounts in bulk, useful for salaries, supplier payments, refunds and commissions. Bill payment tools let a business or app sell airtime, data, electricity tokens and TV subscriptions, which is the basis of many VTU (airtime and data resale) businesses. Virtual accounts are bank account numbers created for a purpose, such as one for each student or tenant, so that you can match every incoming transfer to the right person automatically.
| Product type | Best for | Example |
|---|---|---|
| Checkout (hosted or inline) | Websites, apps, booking sites | A Lagos fashion store taking card and transfer payments |
| Payment links | WhatsApp and Instagram sellers | A caterer sharing a ₦85,000 deposit link |
| Multi-currency collection | Exporters, freelancers, event planners | Tunde collecting a deposit from a client in London |
| Payouts | Payroll, refunds, marketplace sellers | Paying 25 delivery riders every Friday |
| Bill payments | VTU, agent and fintech apps | An Abuja app selling airtime and electricity tokens |
| Virtual accounts | Schools, landlords, estates | A separate account number for every student |
How much does Flutterwave cost in Nigeria?
Every merchant asks this first. I will give you the pattern and some real examples, but please do not treat my numbers as a quote. Prices are as at 2026, they can change, and different countries and currencies have different rates. The official pricing page is your final word.
Local cards and bank payments
For Nigerian payments, Flutterwave has publicly listed a fee of around 1.4% for local cards, with the fee capped at ₦2,000 per transaction. Similar percentage-based pricing has been listed for some other local channels. The cap does the same job as with other gateways: the bigger the single payment, the smaller the percentage you effectively pay.
| Customer pays | Fee at about 1.4% (illustration) | You receive |
|---|---|---|
| ₦5,000 | ₦70 | ₦4,930 |
| ₦50,000 | ₦700 | ₦49,300 |
| ₦100,000 | ₦1,400 | ₦98,600 |
| ₦200,000 | ₦2,000 (capped, not ₦2,800) | ₦198,000 |
| ₦1,000,000 | ₦2,000 (capped) | ₦998,000 |
International cards and other currencies
Payments made with foreign cards usually cost more. Flutterwave has listed a rate of around 3.8% for international cards. On a ₦100,000 order paid with a foreign card, that is ₦3,800. Add this to your price if you sell to the diaspora, and remember that exchange rate and conversion practices may add another layer. Ask the support team exactly which rate will be used when your customer pays in pounds or dollars and you settle in naira.
Other charges to ask about
Fees for payouts, bill payments, virtual accounts and refunds can differ. Some are a fixed amount per transfer, and some may be a percentage. Before you promise “free delivery” or “no charges” to customers, add up the full cost of your normal month: collection fees, payout fees, refunds, and any conversion cost. Then compare it to your margin. A business that earns 12% net profit and pays 3.8% on every foreign card sale needs to check that the price still makes sense.
Which Nigerian businesses benefit most from Flutterwave?
Any business can use it, but some gain more than others. Here are the patterns I see in my client work across Nigerian cities.
Online stores and Instagram vendors
If you sell physical goods, Flutterwave gives you card, transfer and other payment options in one checkout, plus a dashboard record for every order. A vendor in Kaduna selling fabric can start with payment links, then add a website checkout later. What matters is that the customer gets a clear receipt and you get a clear record. If you are still deciding between selling on social media and building a store, read my thoughts in how to sell online without depending on Instagram.
Freelancers, agencies and exporters
This is where multi-currency shines. A graphic designer in Abuja with clients in the UK, a software agency in Yaba serving American startups, or an exporter of shea butter from Kaduna can ask foreign customers to pay by card in their own currency. You avoid the awkward chain of “please send to my friend’s account”. You still need to keep records for tax and follow the rules on foreign currency, so speak with your accountant and your bank about how the settlement is treated.
Schools, churches and NGOs
Institutions have many small payments and a need for clean records. A private school in Enugu can use virtual accounts so that every parent has a fixed account number that always maps to the right child. A church can collect tithes, offerings and project donations through links, including from members abroad. An NGO can show donors a clear receipt trail. In each case the gain is not only speed. It is that a treasurer or accountant can trust the records at the end of the month. If your school needs a full system around this, see my school management software.
A client-style story. Ibrahim runs a small logistics firm in Kano. Every Friday he paid 22 riders and drivers by making 22 separate transfers from his banking app, which took most of his afternoon, and twice he sent to the wrong person. We moved the weekly payment to a bulk payout run from a single list. The first week it took him twelve minutes, and the list itself became a payroll record. He said the real benefit was not the time. It was that he could show every rider exactly when they were paid.
How to open a Flutterwave account and get verified
The signup is quick. The verification is where people slow down. Prepare your documents first and you will save days.
Documents and business type
Flutterwave, like every regulated payment company, needs to know who you are. In general, expect to provide your name, phone number, email, business details, and identity documents for the owner or directors. Registered companies are usually asked for their CAC documents and may need to give details of directors and owners. Other business types may follow a simpler route with limits. Rules can differ by country and by product, especially for foreign currency, so read the requirements in the dashboard.
- Identity: a valid government ID and often your BVN or similar details.
- Business proof: registration papers, or a description of what you sell and where.
- Bank account: the account where you want your settlements, with a name that matches your business records.
- Website or social page: a place where a reviewer can see what you sell.
Test mode and keys
Like other gateways, Flutterwave lets you test before you go live. You get test keys, use sample card details from the documents, and check that your website reacts correctly to success, failure and cancelled payments. Only when the flow is right do you switch to live keys. Keep the secret key private. If a freelancer asks you to send it in a WhatsApp chat, ask why, and prefer a safer method such as adding it directly into the server settings yourself.
Going live without drama
Before you announce your new payment method, do a small live payment with your own card, check the dashboard, check your bank, then try a refund if your setup supports it. Make sure two people on your team know how to log in and read the dashboard. Add two-step login. If your business has a hotel, shop or office, keep a printed list of who can approve payouts, because when the account owner travels, the business should not stop.
Connecting Flutterwave to your website or app
There are three main routes, and the right one depends on how your site is built and how much control you need.
Plugins and no-code tools
For WordPress and WooCommerce, ready-made plugins let you paste your keys and go. Some website builders also offer built-in connections. This is the fastest route and works well for a store with standard products and shipping. Test a real order end to end, including stock reduction, confirmation emails and what the customer sees if she closes the payment window early.
Custom checkout: start, pay, verify
For a custom site or an app, the safe pattern is the same across good gateways. Your server creates a payment with a unique reference and an amount you decide, the customer pays, and your server then asks Flutterwave to confirm the payment details before releasing the order. Never let the browser decide that an order is paid, because a browser can be edited. I explain the wider idea of connecting systems in API integrations explained for business owners.
Webhooks, retries and duplicates
A webhook is an automatic message from Flutterwave to your server when a payment event happens. Use it as a backup for customers who pay and then lose network before returning to your site. Check the signature of each message so you know it is genuine, and make sure your code handles duplicates. A webhook may arrive twice, or arrive before the customer returns, and your system must give the same result either way. Idempotency, the technical word for that, prevents double deliveries and double bookings.
Getting paid from abroad and in other currencies
This is the topic that brings many of my clients to Flutterwave, so it deserves its own section. Japa (the wave of Nigerians moving abroad) means many families and friends of your customers are overseas, and they often pay on behalf of relatives at home.
How foreign customers pay
A customer in the UK pays with a UK card in pounds. She sees a familiar amount, not a naira figure she has to convert in her head. That makes her more likely to complete the purchase. It also protects you from the mistakes that come when people send money to a personal account and forget the reference. To make this work, your account must be approved for the currencies you want, and your checkout must be set to accept them.
Settlement in naira and the rules
Once a foreign payment is made, you usually need to decide whether you receive it in naira or hold it in another currency where that is available. Rules on foreign currency, exports and reporting come from the Central Bank of Nigeria and can change. Do not guess. Ask your bank and your accountant, and keep documents that show what each payment was for. A simple invoice for every foreign payment is a strong habit.
Invoices, pricing and clear terms
Show prices in the customer’s currency if you can, or show both. State clearly what the customer will be charged, whether tax or VAT is included and what your refund policy is. For high-value services such as weddings, consulting or software projects, send an invoice with a payment link and keep every payment tied to a project. A tidy record helps at tax time and also protects you if a customer disputes a charge later.
Beyond checkout: payouts, bills and virtual accounts
Many businesses stop at “accept payment” and miss the tools that save the most time. If money leaves your business as often as it comes in, look at these.
Paying suppliers, staff and agents
A bulk payout lets you upload a list of names, account numbers and amounts, then send the money in one run. A pharmacy chain with five branches can pay suppliers on a fixed day. A marketplace can pay sellers after delivery is confirmed. A restaurant group in Port Harcourt can pay casual staff on Friday evening without one person spending the afternoon on the banking app. Keep an approval rule: the person who prepares the list should not be the only person who approves it. That single habit prevents many payroll errors and fraud attempts.
Airtime, data and bill payments
Bill payment tools let an app or business sell airtime, data, electricity tokens, cable TV and similar services. Nigerian VTU businesses, agent networks and fintech startups use these to add a service customers already buy every week. If you plan to build one, be careful: margins are thin, customer support is heavy, and you must handle failed tokens with care. A wrong electricity token is not a small mistake for a customer sitting in the dark in Kano. I usually advise a small pilot first, with real customers and a support plan.
Virtual accounts for rent, school fees and estates
Instead of asking one hundred tenants to send money to one account with a name in the narration, give each tenant or student a dedicated account number. When the transfer arrives, your system knows who paid without anyone reading narrations. An estate manager in Abuja collecting service charges from 150 flats can see, at a glance, who has paid and who is owing. If you want this connected to a wider business system with reports and reminders, see my business process automation work.
Risks to plan for and how to protect your account
I like Flutterwave, and I also plan for its bad days. I say the same about every payment company, Nigerian or foreign. Outages, reviews and settlement delays happen across the industry, and a calm business is one that expected them.
Downtime and delays
Even the biggest providers have outages. Banks also have downtime at bad times, such as month end and festive periods when everyone is paying at once. During December in Lagos and Abuja, when carts are full and everyone is travelling, a small delay becomes a queue of angry customers. Have a short message ready that you can send: “Payment is slow on our side of the bank network. Your order is safe. We will confirm within two hours.” Customers forgive delay. They do not forgive silence.
Account reviews and holds
Payment companies must follow rules on identity checks, fraud and money laundering. This means accounts can be reviewed, limited or paused when something looks unusual, such as a sudden jump in volume, high refund rates or missing documents. Keep your business information current, answer requests quickly, and do not run a surprise huge campaign without telling your account contact if you have one. Treat a review like a bank asking for updated KYC (know your customer) papers: annoying, but normal.
Fake alerts, fake screenshots and staff fraud
Fraudsters do not only attack cards. They forge SMS alerts and screenshots and hope you release goods before you check. The rule is simple: only the dashboard, your bank statement and your verified webhook count as proof of payment. A screenshot never counts. Train your staff, especially the person at the counter or on WhatsApp. If one person can mark orders as paid by hand, add a second approval or a written note showing who approved it.
| Risk | Warning sign | What to do |
|---|---|---|
| Downtime | Customers report failed payments at the same time | Post a status message, keep a backup gateway ready, do not double-charge |
| Account review | Email asking for documents or a limit on payouts | Reply the same day with clear documents, keep records tidy |
| Fake proof of payment | Customer sends only a screenshot and rushes you | Confirm in the dashboard or bank, never in a chat image |
| Chargeback | Notice that a card payment is disputed | Send order proof, delivery proof and chat history before the deadline |
| Leaked key | Odd payouts or requests you did not make | Regenerate keys at once, review who has access, change passwords |
Most of these risks shrink when you look after your dashboard properly. A payment dashboard is like the safe in your shop. If a thief gets the key, it does not matter how good your product is. The good news is that a short routine covers most of the risk, and you can run it in twenty minutes once a month.
Who can log in and what they can do
List every person who has access. Remove anyone who left the business, including the freelancer who built your site two years ago. Give each person only the rights they need: the shop assistant may need to view payments but not send payouts. If the dashboard allows roles and approvals, use them. A small business in Abuja once told me that its old web designer still had full access three years later, and nobody had noticed. Nothing bad happened, but the risk was real.
Keys, passwords and phones
Use a strong, unique password and switch on two-step login. Do not share one login among five staff members, because then you cannot tell who did what. If your secret key was ever pasted into a chat or an email, replace it. Keep your phone number and email on the account current, since alerts and reset messages go there. If you change your SIM, remember to update the number on every financial account, because SIM swap fraud is a real problem in Nigeria.
A monthly review that takes twenty minutes
- Compare your dashboard total for the month with your bank credits and your own sales records.
- Read the list of refunds and payouts and confirm you recognise every one.
- Check the list of people with access and remove anyone who no longer needs it.
- Look at failed payments and note the top two reasons.
- Write the numbers in a simple sheet so you can see trends month after month.
This routine also builds a track record. If you ever apply for a loan, a grant or a partnership, monthly numbers backed by gateway reports show that your business is organised and real.
Flutterwave, Paystack or something else? How I choose
Businesses often ask which one is “the best”. The honest answer is that it depends on what you sell, where your customers live and what your website is built on. My full side by side view is in Paystack vs Flutterwave for your website. Here is the short version of how I decide for clients.
My simple decision questions
- Do you sell to customers abroad? If yes, check multi-currency support and rates on both providers before you choose.
- Do you need payouts or bill payments? Look closely at each provider’s tools and rates for that job.
- Which is easier for your platform? If your store builder or developer has a tested connection for one of them, that is a strong reason to start there.
- Who answers when you are stuck? Test support with a real question before you commit.
Comparison by business need
| Your main need | What to check first | Suggested approach |
|---|---|---|
| Simple local online store | Fees, plugin quality, settlement time | Choose either, connect one, keep the other as a backup |
| Diaspora and foreign customers | Currencies supported, foreign card fee, settlement rules | Compare both, test a small foreign payment |
| Payouts to staff or sellers | Bulk payout tools, payout fees, approval controls | Choose the provider with the cleanest payout flow for you |
| In-person shop counter | Card terminal or PoS options | Look at PoS providers and agent-banking firms as well |
Why I still keep a backup
Even if you love one provider, keep a second one tested and ready. The cost is small compared with a single lost weekend of sales. I set this up for clients with steady online income, especially those selling before Christmas or during school fee season.
Why Flutterwave matters in Nigeria right now
Nigerian businesses face special pressures: currency swings, informal trade, uneven networks and a customer base that has learned to be careful. A payment company built on this continent has a natural interest in solving these problems, and its history shows what a local team can do.
Cross-border trade and the japa effect
More Nigerian families now have members abroad. They buy goods for relatives, pay school fees, order food deliveries and book services from afar. If your business can accept a foreign card and give a clean receipt, you can serve this market without sitting in a Lagos traffic jam waiting for a transfer. It is a very practical way to grow revenue without opening another branch.
Trust, compliance and record keeping
As the tax and regulatory environment grows more organised, clean records help. A payment gateway gives you a timestamped list of every payment, which supports your accounts and your tax filings. You can also show a bank or investor proof of real sales. When I help a client apply for a business loan, one of the first things a lender asks for is proof of steady income, and gateway reports are a strong piece of that story.
Mobile-first, data-conscious design
Most Nigerian shoppers are on phones, often on expensive data with variable networks. Your checkout needs to be light and quick, with few steps. A gateway can only help if your own page loads fast, so also keep an eye on your site’s speed. My guide on increasing online sales shows where I usually find the biggest wins.
Common mistakes and a 14 day plan to start well
After eight years of building and repairing payment flows, I can predict where small businesses trip. None of these mistakes is about the company. They are about habits.
Trusting the redirect instead of verifying
The most costly mistake is marking an order as paid because the customer landed on a “success” page. Always verify the payment on the server. Otherwise anyone who guesses the address can walk away with goods. I have fixed this for stores in Benin City, Ibadan and Abuja, and the loss is always larger than the cost of doing it properly.
Mixing test and live keys
I have seen a store go live with test keys still inside, so customers “paid” and nothing arrived in the bank. I have also seen live keys left in test pages that anyone could view. Keep a short list: where each key lives, who can see it, and when it was last changed. Store secret keys in server settings, never in a public file.
Ignoring small failed payments
If ten customers fail to pay every week and each order is ₦12,000, you lose ₦120,000 every week. Ask why. Often the cause is a confusing page, a slow mobile experience or a bank issue that affects one card type. Look at your failed payment reasons in the dashboard once a week. A tiny fix, such as adding bank transfer as a second option, can win those sales back.
A 14 day plan to start using Flutterwave well
Here is a practical schedule for a small business. You can do the first week alone, and ask a developer to help with the second.
| Days | What to do | Done when |
|---|---|---|
| 1 to 2 | Read the current fees and requirements on the official pages, gather your documents | You know your likely cost per sale and your papers are ready |
| 3 to 4 | Create the account, complete the identity checks, add your bank account | Your dashboard shows a verified business |
| 5 to 7 | Turn on two-step login, share access safely, add a team alert email | At least two people can see payment alerts |
| 8 to 10 | Connect checkout in test mode, test success, failure and cancel | Your site reacts correctly in every case |
| 11 to 12 | Go live, make a small real payment, verify it in your bank | Dashboard and bank agree to the naira |
| 13 to 14 | Write a one page process for refunds, disputes and delayed payments | Your team knows exactly who does what |
After the first fortnight, review one month of sales. Compare total sales with total fees, failed payments, refunds and time to settle. If something feels wrong, you now have data to ask a sharp question rather than a vague complaint.
Key takeaways
- Flutterwave explained in one line: a bridge that lets customers pay by card, transfer and other methods, and sends the money to your bank, with a dashboard that records everything.
- It was founded in 2016 by Iyinoluwa Aboyeji and Olugbenga Agboola, and was reported to have raised large funding rounds in 2021 and 2022. Headlines do not change your fees, so compare real numbers.
- Publicly listed local card fees have been around 1.4% with a ₦2,000 cap, and international cards around 3.8%. Confirm the latest rates on the official page.
- Its strongest fit is multi-currency collection, payouts, bills and virtual accounts, on top of normal checkout.
- Always verify payments on your server, use webhooks safely and keep your keys private.
- Plan for downtime, reviews and fake screenshots, and keep a backup gateway ready.
- Talk to your bank and accountant about foreign currency and record keeping before you invite customers abroad to pay.
Frequently asked questions
What is Flutterwave and how does it work?
Flutterwave is a payment company that lets businesses accept card, bank transfer, USSD and other payments online and send the money to their bank accounts. You connect it to your website, app or payment links, and the customer pays through a secure window. You then see each payment in your dashboard and receive your settlement.
Who founded Flutterwave?
Flutterwave was founded in 2016 by Iyinoluwa Aboyeji and Olugbenga Agboola, who is also known as GB. The company has been reported to have headquarters in San Francisco and significant operations in Lagos. It has publicly said it serves businesses across many African countries.
How much does Flutterwave charge in Nigeria?
Flutterwave has publicly listed local card fees of around 1.4% capped at ₦2,000 per transaction, and around 3.8% for international cards. Fees for payouts and other products can differ. Rates change, so check the official pricing page for your product and country.
Can I receive dollars or pounds with Flutterwave?
Many businesses can collect payments in several currencies, subject to approval and the rules for your account. You then choose, where available, how to receive the money. Speak with your bank and accountant about foreign currency rules and record keeping before you start.
How long does Flutterwave take to settle payments?
For many local payments the schedule has been described as the next business day, but weekends, holidays, bank delays and reviews can add time. International payments may take longer. Keep a small cash buffer so you never plan spending around money that has not settled.
Is Flutterwave safe for my business?
Card details are handled in the secure payment window, not on your own website, which lowers your risk. You still have to protect your dashboard with two-step login, keep your secret keys private and verify payments on your server. Like every payment company, it can have outages or account reviews, so keep records and a backup option.
Can I use Flutterwave without a website?
Yes. You can share payment links through WhatsApp, Instagram or email, and use invoices or store tools where they are available. This works well for vendors, freelancers and event organisers who are not ready for a full website. When your sales grow, a website gives you more control.
Next step: connect payments the safe way
If you want Flutterwave, Paystack or both connected to your store or app with proper testing, verification and a backup plan, I can do it for you. Start with my e-commerce website service, browse some of my projects, then book a free consultation or message me on WhatsApp from the site. Tell me what you sell, who pays you and from where, and I will show you the simplest setup for your business. You can also read the current details on the official Flutterwave website before we talk.
BSc Economist and software engineer with 8 years of experience. CTO / Team Lead at Xoftpro Smart Systems and founder of DannieSoft.





