Colombian VAT on Stripe Digital Services in QuickBooks
Colombia makes foreign digital providers liable for 19% IVA from the first sale: RUT signup, the code 11 business rule, Form 325, TRM, QuickBooks.
A US software company sells a $30 monthly plan to a designer in Bogotá. Colombia has no threshold to wait for. A foreign provider of digital services is liable for Colombia's value added tax, the IVA, on its first sale to a Colombian consumer. It registers with DIAN, the Colombian tax authority, adds 19 percent, and files a return every two months. The same company's sale to a Bogotá agency registered for IVA carries no Colombian tax on the invoice, because the agency accounts for it. A sale to a small Colombian business that isn't registered for IVA does carry it.
Colombia has run this regime since 2018, and it is the most procedural of the Latin American ones. Registration needs an electronic signature from DIAN before you can file. Returns are bimonthly, due on one fixed business day for every foreign provider, and a return filed without full payment has no legal effect. And the business exemption turns on a specific line in the customer's tax registration, which Stripe's Colombian tax ID type does not read.
This guide covers what Colombia taxes, how DIAN places a customer in Colombia, RUT registration, the consumer and business split, the rate and when the tax arises, a worked two-month period, Form 325 and the dollar payment, the optional card-issuer withholding, and what reaches QuickBooks. It is bookkeeping guidance, not tax advice.
Acodei brings Stripe Tax amounts into QuickBooks, so the Colombian IVA you collect is already in your liability account when each two-month period closes. Start a free trial.
Why foreign digital services pay Colombian IVA
Colombia taxes services supplied from abroad the same way it taxes services supplied at home. Article 420 of the Estatuto Tributario, Colombia's tax code, puts "the provision of services in the national territory, or from abroad" inside the IVA (our translation). Its third paragraph says where: a service from abroad is treated as supplied in Colombia when the recipient "has their tax residence, domicile, permanent establishment, or the seat of their economic activity in the national territory."
Article 437 then makes the foreign provider the person liable. Its second paragraph tells DIAN to set out how "providers of services from abroad will comply with their obligations, among them filing and paying, as persons liable" (our translation). DIAN did that in Resolution 000051 of 2018. In 2025 DIAN folded that resolution, unchanged in substance, into its single consolidated resolution, Resolution 000227 of 2025, as articles 1.6.5.1.x. The DIAN texts are in Spanish, and quotations from them here are our translations.
Unlike Peru, where the foreign provider is a collection agent for a tax the consumer owes, Colombia makes you the responsible party (responsable) for the IVA itself. In practice the books look the same: the tax you add is money you owe DIAN, so it sits in a liability account and never in revenue.
How DIAN decides a customer is in Colombia
The legal test is the customer's residence, domicile or base. Resolution 51 of 2018, in its article 29, adds the evidence DIAN expects you to use: "the place of issue of the credit or debit card, or the place where the bank account used for payment is located."
It then adds a rule no other country in this series has. You must require payment "with a credit or debit card issued by a financial entity in Colombia, or from a Colombian bank account" in two cases:
- when the IP address of the customer's device places them in Colombia; or
- when the mobile country code on the customer's SIM card places them in Colombia.
In other words, DIAN wants the payment instrument to line up with the network signals. A customer browsing from Medellín who pays with a US card is, on the resolution's wording, a case where you should have asked for a Colombian card.
Stripe Tax doesn't apply that rule. Its customer locations guide says it "uses a single address as your customer's location when calculating tax," taken in order from the shipping address, the billing address, the billing details of the payment method, and the IP address. For most Colombian consumers the card, the billing address and the IP all point the same way and nothing differs. If you have many Colombian visitors paying with foreign cards, decide with your adviser how you handle article 29, because nothing in a default Stripe checkout will raise it for you. Our glossary entry on place of supply compares the evidence rules across countries.
No threshold: register for a RUT from the first sale
Stripe's Colombia entry shows the registration threshold as "1 transaction" and says remote sellers of digital products to consumers in Colombia "have no registration threshold; they must register for VAT purposes from the first sale." DIAN's resolution sets no threshold for foreign providers either. The 3,500 UVT exclusion in article 437 is for certain small Colombian individuals, not for you.
Two limits on Stripe's side, from the same entry:
- Digital product tax codes only. "Stripe doesn't calculate tax for products that don't use a digital product tax code." Assign one to every product you sell into Colombia. See Stripe product tax code.
- Remote sellers only. "You must be a remote seller with no physical presence in Colombia to collect this tax on Stripe."
RUT registration, the NIT and the electronic signature
The RUT is Colombia's single tax registry. Article 2 of the resolution requires registration from non-resident providers that sell services from abroad to customers who aren't obliged to withhold the tax themselves (the business case below). Article 13 lists the two steps before your first return: register in the RUT and obtain a NIT, Colombia's tax identification number, then request and obtain an electronic signature instrument, the IFE (instrumento de firma electrónica).
You apply online, through DIAN's "PQSR y Denuncias" web service, not at an office. Article 4 lists what the request covers: the services you provide, your country, your website or websites, your address abroad, and the request for the IFE. The application and the returns are made by your legal representative or an attorney-in-fact (apoderado). Nothing in the resolution requires that person to live in Colombia, and DIAN's Concepto 9929 of 2026 confirms a provider "may comply directly or through an attorney-in-fact or agent." Your RUT carries responsibility code 46, "IVA prestadores de servicios desde el exterior."
The IFE matters more than it sounds. Form 325 can only be filed electronically with it, and DIAN treats returns filed any other way as not filed. Start registration well before the end of your first two-month period.
Consumers pay you the tax; IVA-registered businesses withhold it
The resolution's article 28 sets the default: you "will invoice the IVA for the service provided to all direct users or recipients of the service." The exception is narrow. It applies when the customer is registered as responsible for IVA and proves it by sending you its RUT showing, at a minimum, the entry "11- IVA RESPONSABLE" (the wording in Resolution 227; the 2018 text used the older name, "régimen común"). That customer must then withhold the IVA itself under article 437-2, numeral 3, of the Estatuto Tributario, and "in this case the provider of the service from abroad will not be responsible for the IVA."
So the split is not consumer versus business. It is IVA-registered business versus everyone else:
- A consumer: you charge 19 percent.
- A business registered for IVA that sends a RUT with code 11: you charge nothing, and the customer withholds and pays the tax.
- A business that isn't registered for IVA, such as many small sole traders: you charge 19 percent, exactly as for a consumer.
Stripe's Colombia entry describes this more broadly. It says "sales to business customers in Colombia don't trigger any tax registration obligations as remote sellers aren't required to collect tax on such sales." DIAN's text relieves you only for customers registered for IVA, so read Stripe's sentence with that limit in mind.
Why co_nit won't stop Stripe charging
Here is the detail that catches people. Stripe's customer tax ID table lists co_nit, "Colombian NIT number," with the example 123.456.789-0, and marks its impact on tax calculation as No. Storing a business customer's NIT puts it on the invoice. It doesn't change the tax.
Compare Peru, where Stripe's pe_ruc does move a sale to the reverse charge, as our guide to Peruvian IGV on Stripe explains. In Colombia a NIT alone wouldn't be the right test anyway, because many businesses with a NIT aren't registered for IVA.
What does work is the customer's tax status. Stripe's guide to zero tax and reverse charges says that besides applying the reverse charge from a tax ID, "you can also set a customer's tax status to reverse charge using the API or the Dashboard." The workable process:
- Ask Colombian business customers for their RUT.
- If it shows code 11, set the customer's tax status in Stripe to reverse charge, and keep the RUT on file as your evidence.
- If it doesn't, leave the status alone and charge IVA.
The Stripe customer tax exempt glossary entry explains the three tax statuses, and reverse charge covers the general mechanism.
The rate is 19 percent, and when the tax arises
Article 468 of the Estatuto Tributario sets the general rate: "the general rate of the value added tax is nineteen percent (19%)" (our translation). Check the rate Stripe applies on a test Colombian invoice before you go live.
Whether your price includes tax is your choice in Stripe. Priced exclusive, a $30 plan becomes $35.70. Priced inclusive, the tax inside $30 is $30 × 19/119, or $4.79, and your revenue is $25.21. Our guide to inclusive and exclusive tax in QuickBooks covers how each posts.
DIAN also wants the customer to see the tax. Article 26 of the resolution says you must make sure customers "know the value of the IVA at the moment of offering the service, or at the moment of confirming the order of the service or the payment." A Stripe Checkout page or invoice that shows the tax line meets the idea. A tax-inclusive price with no visible tax amount may not.
Colombia's tax point usually matches Stripe's
This is where Colombia is easier than its neighbors. Article 429 says the IVA on services arises "on the date of issue of the invoice or equivalent document, or on the date the services are completed or of payment or credit to account, whichever is earlier" (our translation). Foreign providers aren't obliged to issue Colombian invoices (more on that below), and the resolution lets you keep using your own billing documents. If your Stripe invoice is that document, the earliest event is usually the day it is issued.
Stripe's tax reporting guide reports tax at the same point: finalizing an invoice adds to the tax reported, a transition that "happens before the invoice is paid." In Chile and Peru, where the tax point is the payment, an invoice finalized on the last day of a month and paid the next creates a cross-period difference you track by hand. Our guide to Chilean VAT on Stripe walks through it. Under article 429's earliest-event rule, the same invoice usually belongs to the period in which Stripe already reports it. Confirm the reading with your adviser, but expect far fewer reconciling items than in those two countries.
A worked two-month period for a software company
Take a Texas company selling a design-collaboration app, priced in USD with tax added on top. It has a RUT and an IFE, and a Colombia registration in Stripe Tax. The September to October 2026 period:
- A monthly plan to a consumer in Bogotá, $30, invoiced 1 September and 1 October. Tax $5.70 each time, $11.40 in total.
- An annual plan to a consumer in Medellín, $300, invoiced 15 September. Tax $57.00.
- A team plan to a Cali agency, $500, invoiced 20 October. The agency sent its RUT showing "11- IVA RESPONSABLE," and the company set the customer's tax status in Stripe to reverse charge. Tax $0. Had it only stored the agency's
co_nit, Stripe would have charged $95.00. - A plan to a sole trader in Barranquilla, $100, invoiced 10 October. The customer has a NIT but no code 11 on its RUT. Tax $19.00.
What Stripe's itemized export shows for the period: $11.40 plus $57.00 plus $19.00, or $87.40. Because each invoice was also issued in the period, Form 325 carries the same tax.
When it is due: the tenth business day of November, on Colombian time. In 2026 that is Tuesday 17 November.
How it converts: the company totals the period's tax in dollars and converts it to pesos at the TRM, the official exchange rate certified by Colombia's financial regulator, on the day it files. It then pays the dollar amount by transfer to the Treasury's international account.
Filing Form 325 and paying DIAN
The form. Foreign providers file on Form 325, which DIAN's consolidated resolution says has "an equivalent version in the English language." It is filed electronically, signed with your IFE.
The period and the deadline. Article 14 of the resolution makes the periods "bimonthly": January to February, March to April, and so on to November to December. Decree 2229 of 2023 sets one deadline for all foreign providers, "regardless of the last digit of the NIT": the tenth business day of the month after each period, for 2024 and every year after. For 2026 that gives 13 March, 15 May, 14 July, 14 September and 17 November, with the November to December period due on 18 January 2027. DIAN's 2026 calendar announcement carries the same dates. Article 19 fixes the clock: Colombian legal time, UTC minus 5.
No nil returns. The resolution says you are not obliged to file "in the periods in which you have not carried out operations." See nil return for how other countries handle empty periods.
File and pay together. Article 437 is blunt: "returns filed without full payment will have no effect, without the need for an administrative act declaring it so" (our translation). A return you submit on the due date and pay a week later isn't a late payment. Legally it is a return you never filed. Schedule the transfer so the money and the return land together.
Converting at the TRM and paying in dollars
Article 437 lets the return calculate the tax "in dollars converted to Colombian pesos at the Representative Market Exchange Rate (TRM) of the day of filing and payment." Article 21 of the resolution gives the mechanics: if you invoice in a currency other than pesos, at the end of each period you total the income and the IVA in US dollars and convert them at the TRM in force on the day you file.
That is not the rate Stripe uses. Stripe's reporting guide says it converts "using available exchange rates at the time of the transaction." For a seller pricing in USD this matters little, because the dollar total from Stripe is the figure you start from and the peso line is DIAN's conversion of it. If you price in another currency, you need the period total in dollars, and the Stripe Tax filing currency columns won't be in the currency DIAN asks for.
Article 22 sets the payment route: a transfer of the tax "to the international account of the National Treasury" that the government designates, in dollars at the TRM of the payment day. Paying in pesos through an authorized Colombian bank is also allowed. A US company without a Colombian account will almost always use the international transfer.
The card-issuer withholding: an alternative you have to apply for
Colombia has a second way to pay, and it is easy to misread as automatic. Article 437-2, numeral 8, lets card issuers, prepaid card sellers, cash collectors and others DIAN designates withhold the IVA "at the moment of the corresponding payment" to providers abroad of listed digital services, "when the provider of the service voluntarily opts into this alternative system of paying the tax" (our translation). The listed services include audiovisual content, digital platform services, online advertising, distance learning and other electronic or digital services. Under article 437-1, the withholding is 100 percent of the tax.
Three conditions make it a narrow route:
- You have to opt in, and DIAN has to agree. Resolution 000017 of 2020 sets out the request, and Concepto 9929 of 2026 repeats that DIAN's "prior authorization by means of the respective resolution" is needed. DIAN publishes the closed list of providers subject to the withholding by resolution.
- You must sell only listed services, and not be filing bimonthly. Article 437-2, paragraph 3, limits the system to providers that carry out exclusively the numeral 8 activities and haven't opted into bimonthly filing. Resolution 17 does let a provider already filing switch once.
- You file yourself until it starts. Until the withholding actually begins, you register, file and pay as above.
For most SaaS sellers using Stripe Tax, the bimonthly route is the one in front of you. If you consider the withholding, plan the switch carefully with your adviser: a provider whose Colombian customers' banks withhold the tax and that also charges IVA through Stripe would collect it twice.
Invoices and records
No Colombian invoice is required. Article 437 says providers of services from abroad without tax residence in Colombia "will not be obliged to issue an invoice or equivalent document for the provision of electronic or digital services," while leaving DIAN free to require electronic invoicing later. Article 24 of the resolution lets you keep using the billing systems and documents you already use. Your Stripe invoice or receipt does the job.
Keep the control account. Article 27 requires you to keep, at a minimum, the auxiliary record and control account set out in article 509 of the Estatuto Tributario. A liability account in QuickBooks that holds only Colombian IVA, or a clearly filtered slice of a broader one, is the natural home for it.
What reaches QuickBooks, and how the payment clears it
Acodei syncs the tax Stripe Tax calculated, so the Colombia registration in Stripe has to be in place first, and Stripe Tax has to be active in your Stripe account.
For a US QuickBooks company, Acodei's method is the Tax Product: a non-inventory "Sales Tax" product mapped to a liability account, with all Stripe Tax amounts on a sale rolled into one line on the QuickBooks invoice or sales receipt. QuickBooks' Sales Tax Center doesn't let third parties create official tax rates for US companies, which is why the product approach is the one that works there. Acodei's documentation notes this needs Stripe Tax used with Stripe Invoicing or Stripe Checkout. You file from Stripe's reports and pay from the liability account.
For a QuickBooks company outside the US, Acodei's documentation describes a second option: mapping individual Stripe tax rates to QuickBooks tax codes you set up, such as a 19 percent Colombia code.
In the worked period, orders 1, 2 and 4 carry Colombian tax that Stripe calculated, and Stripe-calculated tax is what the sync carries. Order 3 is the one to look at. Because the customer's tax status was set to reverse charge, Stripe calculated no tax, so there is none to carry. That is correct: the Cali agency withholds and pays the IVA itself. If the status had been left alone, Stripe would have charged $95.00, the customer would have paid it, and you would owe it to DIAN.
Refunds. Acodei's documentation says a refund issued through a credit note carries the line-level tax breakdown. A refund made on the payment alone may not show how much was tax, and that case can need a manual adjustment in QuickBooks. Refund Colombian invoices through credit notes, and agree with your adviser how the returned tax is reported on Form 325. Our guide to refunding Stripe Tax in QuickBooks walks through both cases.
The payment to DIAN. Build the Form 325 figure from Stripe's itemized export, filtered on country_code CO. The Stripe Tax itemized export entry lists the columns. When the $87.40 transfer leaves your account, reduce the liability by $87.40 and post your bank's transfer charges to bank fees, not to tax. The same liability account usually holds US sales tax and other foreign taxes from Stripe Tax, so note the Colombian slice each period. Our guide to reconciling the Stripe Tax report in QuickBooks covers the liability-account side.
If you pay in pesos, DIAN receives a peso amount while your liability account holds dollars. Clear the dollar balance for the period and post the difference to the account your accountant uses for exchange gains and losses.
Common mistakes with Colombian IVA on Stripe digital services
- Waiting for a threshold. There is none. The obligation starts with the first sale to a Colombian consumer.
- Treating a NIT as an exemption. Stripe's
co_nithas no effect on the tax, and DIAN's exemption needs code 11 on the customer's RUT. Set the customer's tax status to reverse charge for those customers only. - Exempting every business. A Colombian business that isn't registered for IVA pays IVA like a consumer.
- Leaving the IFE until the deadline. Form 325 can't be filed without it.
- Filing without paying. A return without full payment has no effect. File and pay on the same day.
- Counting the deadline on your calendar. The tenth Colombian business day after the period, on Colombian time.
- Using a general tax code. Stripe only calculates Colombian tax on digital product tax codes.
- Assuming the card-issuer withholding applies. It only applies to providers DIAN has authorized and listed.
Frequently Asked Questions
Do foreign companies have to charge Colombian IVA on digital services?
Yes, on sales to consumers and to businesses that aren't registered for IVA in Colombia. Under article 437 of the Estatuto Tributario and DIAN Resolution 51 of 2018, a provider of services from abroad is responsible for the IVA, registers in the RUT online, and files and pays every two months. There is no registration threshold.
What is the IVA rate on digital services in Colombia?
The general rate of 19 percent, under article 468 of the Estatuto Tributario. It applies to the price of the service. Whether the 19 percent is added on top of your price or included in it depends on how you set tax behavior in Stripe.
Do I charge IVA to business customers in Colombia?
Not to a business registered as responsible for IVA that sends you its RUT showing code 11, "IVA RESPONSABLE." That customer withholds and pays the tax itself. A business without that registration pays IVA like a consumer. Stripe's co_nit tax ID doesn't affect tax calculation, so set an eligible customer's tax status to reverse charge in Stripe.
How often do foreign providers file in Colombia, and how do they pay?
Every two months, on Form 325, signed with DIAN's electronic signature instrument, by the tenth business day of the following month on Colombian time. Periods with no sales need no return. The tax is calculated in dollars and converted at the TRM on the filing day, and a return filed without full payment has no effect. Payment from abroad goes by transfer to the Treasury's international account.
Do I need to issue Colombian invoices?
No. Article 437 says providers of services from abroad without tax residence in Colombia aren't obliged to issue an invoice or equivalent document for electronic or digital services, and DIAN's resolution lets you keep your existing billing documents. You must still show customers the IVA amount when you offer the service or confirm the order or payment.
Four Colombian details that decide your numbers
Colombia's regime is old, stable and paperwork-heavy. The work sits in four places. The business exemption follows code 11 on the customer's RUT, not a NIT, and Stripe needs the customer's tax status set to act on it. The electronic signature has to be in hand before the first deadline. Every return is due on the same tenth business day and only counts if it is paid in full. And the dollar total converts at the TRM on the day you file, not at Stripe's rate. Get those right and the Colombian slice of your liability account will tie to each Form 325.
Acodei syncs Stripe Tax into QuickBooks, so each Colombian period starts from the liability account instead of a spreadsheet. Start a free trial.
Automate your Stripe to QuickBooks sync
Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.
14-day free trial · card required · cancel anytime
How Acodei handles this in your stack
Stripe QuickBooks Integration
See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.
Or go straight to a capability
Advanced Product Mapping
Map Stripe products to QuickBooks with rule-based logic on product ID, price ID, metadata, and account. Set rule priority and extend mapping to refunds and fees.
Automated Invoice Sync
Bring Stripe invoices into QuickBooks and auto-apply payments and credit memos, with invoice numbering suffixes and quantity tracking to cut double-entry.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling and currency-specific customer records. Our team enables multicurrency on request, and zero-decimal currencies such as JPY are not supported.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting. Class tracking requires QuickBooks Online Plus or Advanced.
Historical Data Import
Backfill historical Stripe data into QuickBooks by month range. Preview volume and cost before syncing so reporting starts from a complete baseline.
How to Connect Stripe to QuickBooks Online
Connect Stripe to QuickBooks Online in minutes. Acodei links both accounts with secure OAuth and syncs payments, fees, refunds, and payouts automatically.
Reconcile Stripe Payments in QuickBooks
Reconcile Stripe in QuickBooks Online automatically. Acodei splits out fees, matches payouts to deposits, and keeps every charge audit-ready.
Related articles
Acodei Journal
Peruvian IGV on Stripe Digital Services in QuickBooks
Acodei Content Team
Peruvian IGV on Stripe Digital Services in QuickBooks
10/24/2026
Acodei Journal
Chilean VAT on Stripe Digital Services in QuickBooks
Acodei Content Team
Chilean VAT on Stripe Digital Services in QuickBooks
10/24/2026
Acodei Journal
Swiss VAT on Stripe Digital Services in QuickBooks
Acodei Content Team
Swiss VAT on Stripe Digital Services in QuickBooks
10/23/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.