Skip to main content
Gruv.ai logo

Pay Contractors in Romania With RoPay and BNR FX Checks

By Yuki Matsumoto
Cross-Border Banking & FX Specialist
Updated on
23 min read
Pay Contractors in Romania With RoPay and BNR FX Checks - hero image

Quick Answer

Start with a narrow launch in domestic Romanian leu and expand only after written confirmation of RoPay access assumptions and National Bank of Romania-linked obligations. The article’s core rule is practical: when participation criteria, charging mechanics, or BNR FX constraints are still unverified, pause rollout or use a regulated partner while documents are validated. Treat annexes, fee guides, and provider forms as operating controls rather than back-office paperwork.

Why Romania contractor payouts need a go or no-go decision before you build#

Make the Romania decision before you scope engineering. The real call is not whether domestic contractor payouts sound attractive. It is whether you can launch within a tightly defined first use case, domestic contractor payouts in Romanian leu (RON), or whether payment-scheme access assumptions, National Bank of Romania linked controls, and FX unknowns mean you should pause or enter through a partner.

This guide stays narrow on purpose. It focuses on paying contractors in Romania through domestic rails in RON, then shows what changes once your product brief expands to cross-border payouts, conversion, or non-RON settlement. If your business case already depends on those broader flows, do not treat a domestic rail discussion as proof that the full corridor is ready.

Make the scope decision before product work#

Most search results split this topic into fragments: a scheme name, a regulator name, and a payments product pitch. That is not enough to make a build decision. What matters is the sequence between them. You need to understand what your scheme and provider materials define at a structural level, what public banking materials signal about regulator-linked obligations, and what your platform must verify before the first contractor payout is approved.

A useful checkpoint is to write your exact launch assumption in one sentence and defend it with documents, not product pages. For example, are you assuming domestic RON only, no FX conversion inside your platform, and execution through a bank or regulated provider contract pack? If you cannot answer that cleanly, you are not at build stage yet.

Use regulator-linked signals, but keep the evidence boundary honest#

The public evidence here supports a disciplined starting point, not a complete legal answer. One BRD General Banking Conditions document states that the client-bank relationship is governed by legal provisions and the Regulations of the National Bank of Romania. The same document also says annexes, forms, and the Fee Guide constitute the contract, and it identifies BRD as registered in the Register of Credit Institutions under no. RBPJR-40-007/18.02.1999.

That matters for one practical reason. Your payout model may be shaped by formal contract documents, fee schedules, and provider forms tied to regulated banking relationships, not just by API access or a scheme brochure. One failure mode is building from a high-level scheme narrative, then discovering late that onboarding, liability allocation, or pricing assumptions sit in provider paperwork nobody reviewed.

What the evidence does not settle matters just as much. Based on the material here, you should not assume exact RoPay participation criteria, fee mechanics, or exact BNR FX limits for contractor payouts. If those unanswered points drive your launch economics, the go decision is weak. In that case, either pause or use a partner that already owns the regulated edge while you validate the remaining legal and compliance questions in writing.

Understand the Romania rail stack before choosing your payout path#

Treat the rail stack as a scoping decision first: if you are launching domestic RON payouts, RoPay-linked paths may be relevant; if you are launching cross-border or non-RON first, they are only partial coverage.

Step 1. Map names to roles before you build#

Put Plati Instant, SENT, IPC RON, and RoPay in one flow and require your provider to map each one to initiation, messaging, clearing, settlement, or user experience. The material here does not verify Romania-specific mechanics for those labels, so a generic "instant payments" pitch is not enough.

Ask for technical documentation or contract language that shows exactly where your platform responsibility starts and where the provider's responsibility starts. If you only have a brochure or demo, your obligations are still unclear.

Step 2. Anchor expectations to what is verifiable#

Use the grounded European context as a baseline, not as proof of Romania-specific implementation. The cited material describes SEPA as covering 41 European countries, operating through three distinct payment rails, and using recipient IBAN (and sometimes BIC) for transfer initiation. It also describes a 2025 instant-payments regulatory shift for eurozone PSP capability.

If a provider claims SCT Inst or ISO 20022 alignment, ask for concrete evidence in message formats, status handling, and recipient-data rules. If they cannot provide that detail, treat integration scope as unresolved. The same verification mindset shows up in How to Pay Contractors in Thailand: PromptPay and Bank of Thailand FX Rules.

Step 3. Separate user features from rail/compliance duties#

Keep AliasPay and the RoPay QR code standard in the user-experience bucket. They can affect how users identify or authorize payouts, but they do not replace reconciliation, audit evidence, or provider-side compliance obligations.

Also screen your reference inputs for basic consistency. A "Romania" guide showing conflicting fields (for example, Mexican Peso) is a sign to pause and re-validate before it influences architecture decisions.

Related: How to Pay Contractors in Morocco: CIH Bank CMI and Bank Al-Maghrib FX Rules.

Prepare the minimum evidence pack before product and GTM commitment#

Do not commit product roadmap or GTM in Romania until a minimum evidence pack is complete and owned.

Pack itemWhat to confirmGrounded details
RoPay participation and rulesAccess model through a member bank or payment processorNot direct merchant implementation; extract RoPay Scheme Rule Set clauses for access, operations, continuity, and charging
Regulatory framingWhat is verified versus assumed under Law 209/2019 and your BNR perimeterNote where resident/resident goods-services settlement defaults to leu and where Annex 2 exceptions may matter
Contractor classification artifactsClassification evidence and onboarding formsCollect Fiscal Code Art. 7 independence-criteria evidence, Labor Code written-employment-contract implications, and required onboarding contract forms
Contract primitives in your flowHow agreement types are handled in onboarding and payout operationsConfirm treatment of the civil service-provision agreement and how any collaboration contract is handled
Unresolved-items logOpen points that still need primary-document supportKeep exact RoPay participation criteria, partner-specific merchant fee/interchange mechanics, and any BNR FX constraints explicit

Build one launch dossier with four owners: legal, payments ops, finance, and engineering. Use it to turn each assumption into either verified evidence or a launch blocker.

Your minimum pack should cover:

  • RoPay participation and rules: confirm your access model through a member bank or payment processor (not direct merchant implementation), and extract the relevant RoPay Scheme Rule Set clauses for access, operations, continuity, and charging.
  • Regulatory framing: document what is verified versus assumed under Law 209/2019 and your BNR perimeter, including where resident/resident goods-services settlement defaults to leu and where Annex 2 exceptions may matter.
  • Contractor classification artifacts: collect the Fiscal Code Art. 7 independence-criteria evidence, the Labor Code written-employment-contract implications, and required onboarding contract forms.
  • Contract primitives in your flow: confirm treatment of the civil service-provision agreement and how any collaboration contract is handled in onboarding and payout operations.
  • Unresolved-items log: keep open items explicit, especially exact RoPay participation criteria, partner-specific merchant fee/interchange mechanics, and any BNR FX constraints you still cannot evidence from primary documents.

Use this pack as a gate, not a filing exercise: if these points are still unresolved, delay product and GTM commitment.

Choose your operating model with explicit tradeoffs#

Choose a partner-led launch by default until your evidence pack proves you can own a larger governance and contract-review surface in Romania. The key decision is not just integration design; it is who carries responsibility across the governing documents that control the relationship.

BRD's public terms are a useful anchor: the relationship is governed by general banking conditions, product-specific forms, legal provisions, and the Regulations of the National Bank of Romania, and those documents together form the client-bank contract. Use that structure to test your model before you commit product and GTM resources.

Step 1. Set your default path#

Use direct exposure only when Romania is a strategic corridor and you can continuously manage the required document, control, and change-review workload. Use a regulated provider model first when the corridor is still being validated or when your current team cannot yet support that ongoing ownership.

Step 2. Compare the two paths before you build#

Decision criterionDirect exposure to RoPay rulesPartner-led through a regulated provider
Compliance ownershipDefine exactly what your team owns and how it is evidenced in contracts and operating docs.Define exactly what the provider owns and what remains with your team.
Settlement controlConfirm which decisions and operational controls sit with you.Confirm which controls are provider-managed and which you can still influence.
Reconciliation burdenConfirm what payout references, statuses, and contract terms you must maintain internally.Confirm what data and support the provider contract guarantees for reconciliation.
Timeline riskValidate legal, contract, and operational readiness dependencies you must close yourself.Validate provider diligence, contracting, and integration dependencies before launch.
Failure handlingDefine who communicates incidents, who investigates, and who closes exceptions.Define the provider escalation path and your internal fallback responsibilities.
Change-management overheadDefine how you monitor and implement scheme, bank, and regulatory changes over time.Define how provider changes are communicated and how your team absorbs impacts.

Step 3. Verify the documents that decide who really owns the risk#

Before committing either model, collect the full contract stack: general terms, annexes, applications, specific forms, and the fee guide. BRD explicitly states these components together form the client-bank contract, so missing attachments can hide real ownership and operational risk.

Also verify the regulatory basis of the institution you plan to rely on. One concrete example in public bank documentation is BRD listing its Register of Credit Institutions entry as RBPJR-40-007/18.02.1999.

Step 1 classify contractor relationships and lock contract hygiene#

Do not activate payouts until each contractor record has a documented, approved relationship classification and matching contract file. If a case is unclear, hold activation and route it to legal review instead of letting product or ops infer the answer.

The grounding available for this section does not provide the actual Romanian classification tests, so treat legal-reviewed internal evidence as your control point before setup. Keep that evidence easy to retrieve for every contractor cohort.

Step 1. Map contractor cohorts before payout design#

Group contractors into repeatable cohorts, then record for each cohort:

  • intended relationship type
  • reviewer and approval date
  • required contract template family

If you cannot produce this record quickly, onboarding is ahead of controls.

Step 2. Standardize contract hygiene by cohort#

Once a cohort is approved, require one approved contract pattern per cohort (for example, where your legal team has approved them, a civil services template or a collaboration template). Keep the file set consistent so payout teams are not interpreting free-form agreements at activation time.

Minimum evidence pack:

  • classification memo or legal sign-off
  • signed contract using the approved template family
  • template version ID and approval timestamp
  • exception note when the record deviates from cohort standard

Step 3. Enforce a hard gate for ambiguous files#

Add a blocking onboarding status so payout setup cannot proceed until classification evidence and contract artifacts are approved. For ambiguous files, use a named legal owner plus a hold state, and release only after clearance.

For a step-by-step walkthrough, see How Platform Operators Pay Contractors in Colombia with PSE Nequi and DIAN Controls.

Step 2 design the payout and FX flow in order of operations#

Design this flow as a gated sequence, not a single "send payment" action. Keep each stage explicit so operations can verify what happened before execution or retry.

Step 1. Sequence collection, reconciliation, FX, and payout as separate gates#

Use one order of operations and enforce it every time: collect funds, hold, reconcile receipts, obtain an FX quote only if conversion is needed, convert, then execute payout. This keeps execution decisions tied to current records instead of assumptions.

Treat route logic as an internal policy decision, and document it before launch. For example, you may keep domestic RON payouts on a local path and require pre-launch finance/legal review when conversion or non-RON settlement is involved. The available material here does not provide contractor-payout FX thresholds from the National Bank of Romania, so avoid turning treasury assumptions into automated behavior without sign-off.

Step 2. Anchor controls to governing documents before execution#

Before you finalize the flow, map each control to the governing bank/provider documents in your stack. In the Romanian banking excerpt, the relationship framework is defined through General Banking Conditions, product or service forms, legal provisions (including Regulations of the National Bank of Romania), and banking practices; together with annexes/contracts/forms and the Fee Guide, these form the contract basis.

That means quote handling, initiation evidence, and status records should each have a named document owner. If your team cannot point to that source set quickly, the flow is not ready for scale.

Step 3. Use a compact verification table before advancing or retrying#

Use shared checks across engineering, ops, and finance. These are operator controls, not public Romanian mandates from the provided material.

Control pointVerify before advance/retryWhy it matters
Quote record (if FX used)Quote exists and is linked to amount/currency pair in the payout recordReduces mismatched conversion risk
Conversion eventConversion timestamp is recorded and linked to the payout recordImproves reconciliation and auditability
Payout request identityOne immutable internal request ID is attached before submissionReduces duplicate-send risk on retries
Ledger sequenceFunding, conversion (if any), and payout entries post in expected orderPrevents booking/execution mismatches
External event matchingProvider callbacks/events map to stored internal ID and provider referenceFlags orphaned updates and false failures

Do not auto-retry from a generic failed state. Retry only after checking whether the first submission reached the provider and whether an external reference already exists.

Step 3 operationalize compliance, monitoring, and reconciliation#

If you cannot reconstruct a payout from request through ledger posting in one evidence chain, your Romania operation is not ready. In practice, each payout needs a compliance gate, clear monitoring ownership, and a dispute pack you can produce without manual reconstruction.

Step 1. Gate each payout with auditable events#

Record one consistent event trail for every payout: request created, approval granted, execution submitted, provider acknowledgment/reference received, and ledger journals posted. Keep the trail ordered, tie it to one immutable internal payout ID, and attach external provider references as soon as they arrive.

Run a simple control test on completed payouts: ops should show approval, finance should show matching journals, and your bank/provider should show the same payout reference without stitching multiple exports. If you use a partner model, make this explicit in contracts, since direct RoPay implementation is stated for banks and processors.

Step 2. Prepare dispute and continuity evidence before exceptions happen#

Your reporting and retention model should align with scheme obligations, not just internal dashboard statuses. The RoPay Scheme Rules define participant rights and obligations, and include a formal dispute mechanism (detailed in Annex no. 10), so a thin "paid" status is not enough when timing, routing, or returns are challenged.

A practical dispute evidence pack includes:

  • original payout request and approval record
  • execution timestamp, internal payout ID, and provider reference
  • ledger journal IDs for funding, FX (if used), and payout
  • return, rejection, or callback messages
  • governing provider/banking documents for initiation and status evidence

Continuity coverage should be just as explicit. RoPay is described as scheme-regulated, BNR-endorsed, and administered by TRANSFOND with the Romanian Association of Banks, and presented as available 24/7. Define who owns weekend alerts, incident contacts, evidence retrieval, and dispute escalation if your provider controls scheme access. A similar operator issue comes up in How to Pay Contractors in Malaysia: DuitNow and Bank Negara FX Compliance for Platforms.

Step 3. Monitor exceptions and review rules monthly#

Monitor ambiguous states, not only hard failures. At minimum, alert on payouts pending beyond your internal policy window, unmatched returns, and repeated retry bursts on TRANSFOND-connected flows. Do not retry from a generic failed state before checking whether a provider reference already exists.

Review controls monthly against current scheme and network updates. RoPay Scheme Ruleset V02R00 entered into force on 01/09/2025; its revision history references Annex no. 6 for processing times and notes an added penalty for non-compliance with dispute provisions. If procedures or partner contracts have not been checked against the current ruleset, treat that as a launch blocker.

Related reading: How to Pay Contractors in Malaysia: DuitNow and Bank Negara FX Compliance for Platforms.

Common mistakes in Romania launches and how to recover fast#

Most launch issues here come from treating assumptions as settled controls. If a control is unclear, pause volume and resolve it before scaling.

Diagram showing Final decision checklist before you launch Romania for Pay Contractors in Romania With RoPay and BNR FX Checks.
MistakeRecoveryWhat to check
Treating RoPay access as automaticRe-check eligibility, participant-role assumptions, and regulator-facing obligations in bank-provider paperworkUse General Banking Conditions, annexes, contracts, applications, specific forms, the Fee Guide, legal provisions, and National Bank of Romania regulations as the baseline
Mixing contractor classification and payout setup in one sprintFreeze new corridors until classification and contract artifacts are approved and versionedKeep one clear record of the approved position and the exact contract version tied to each cohort
Shipping FX handling without an explicit unknowns logTreat unresolved conversion questions as scope limits and require compliance sign-off before widening FX behaviorApply temporary policy limits, assign owners and decision dates, and keep the open points visible
Weak evidence trails for disputes and exceptionsRequire one immutable payout ID, linked provider references, and timestamped logs from request through postingFix the trail before adding volume if ops, finance, and your provider cannot reconstruct the same timeline quickly
  • Mistake: treating RoPay access as automatic.

Recovery: Re-check eligibility, participant-role assumptions, and regulator-facing obligations in your actual bank-provider paperwork. Use the governing document stack as your baseline: General Banking Conditions, annexes/contracts/applications/specific forms, the Fee Guide, legal provisions, and National Bank of Romania regulations. If your launch pack only covers commercials and API notes, the control is not ready.

  • Mistake: mixing contractor classification and payout setup in one sprint.

Recovery: Freeze new corridors until classification and contract artifacts are approved and versioned. Keep one clear record of the approved position and the exact contract version tied to each cohort before expanding.

  • Mistake: shipping FX handling without an explicit unknowns log.

Recovery: Treat unresolved conversion questions as scope limits, not edge-case cleanup. Apply temporary policy limits, assign owners and decision dates, and require compliance sign-off before widening FX behavior.

  • Mistake: weak evidence trails for disputes and exceptions.

Recovery: Require one immutable payout ID, linked provider references, and timestamped logs from request through posting for every exception path. If ops, finance, and your provider cannot reconstruct the same timeline quickly, fix the trail before adding volume.

Final decision checklist before you launch Romania#

Treat this as a hard launch gate: if any item lacks evidence, an owner, or a checked date, pause launch.

Launch gateVerificationWatchout
Corridor scopeOne signed scope note covering funding currency, payout currency, conversion use, and included contractor cohortsRed flag: product says "RON first," but treasury or customer commitments already assume FX
Legal packA folder with signed contract versions, internal cohort approvals, and written ownership for classification exceptionsFailure mode: payouts onboarding starts while legal status is still unresolved
Operating modelA role memo mapped to current RoPay rules, including "2.2 Eligibility by type of participation"Tradeoff: more direct participation can increase control and also increase scheme, continuity, and dispute-management burden
ControlsOne UAT evidence pack showing immutable payout IDs, first provider-reference capture, ledger checks, webhook/status reconciliation, and dispute evidence retentionFailure mode: timeout is treated as failure, instruction is resent, and a duplicate payout is created
Unknowns registerA tracked log with owner, deadline, and impact label ("block launch", "limit scope", or "monitor post-launch")Anchor reviews to RoPay Scheme Ruleset V02R00 and BNR Regulation No. 4/2005; keep unresolved FX assumptions open until written provider or counsel confirmation is in place

Copy and paste this into your launch doc:

  1. Confirm corridor scope. Define phase one as either domestic RON payouts only, or a scope that also depends on euro/cross-border paths. RoPay is Romania's national instant mobile payments service, while TRANSFOND also operates euro credit transfers (national and cross-border), so keep those assumptions separate.

Verification: one signed scope note covering funding currency, payout currency, conversion use, and included contractor cohorts. Red flag: product says "RON first," but treasury or customer commitments already assume FX.

  1. Confirm the legal pack. Lock classification evidence, approved contract forms by cohort, and named compliance decision ownership before onboarding starts. Do not treat provider onboarding documents as your classification decision.

Verification: a folder with signed contract versions, internal cohort approvals, and written ownership for classification exceptions. Failure mode: payouts onboarding starts while legal status is still unresolved.

  1. Confirm the operating model. Decide and document whether you are in a direct scheme role or a partner-led setup. Only banks and processors implement RoPay directly from TRANSFOND; legal-entity merchants contract through RoPay member banks or payment processors.

Verification: a role memo mapped to current RoPay rules, including "2.2 Eligibility by type of participation." Tradeoff: more direct participation can increase control and also increase scheme, continuity, and dispute-management burden.

  1. Confirm the controls. Prove replay-safe payouts, quote-expiry enforcement where FX is involved, audit trails, reconciliation, and exception recovery before go-live. RoPay is available 24/7, so recovery cannot depend on next-business-day handling.

Verification: one UAT evidence pack showing immutable payout IDs, first provider-reference capture, ledger checks, webhook/status reconciliation, and dispute evidence retention. Failure mode: timeout is treated as failure, instruction is resent, and a duplicate payout is created.

  1. Confirm the unknowns register. Keep unresolved RoPay and BNR FX points in a tracked log with owner, deadline, and impact label (block launch, limit scope, or monitor post-launch). Anchor reviews to RoPay Scheme Ruleset V02R00 (entry into force 01/09/2025) and BNR Regulation No. 4/2005 (foreign-exchange operations regime). Because BNR may apply safeguard measures for certain capital transactions under severe market stress, unresolved FX assumptions should remain open until written provider or counsel confirmation is in place.

Frequently Asked Questions

Can every platform join RoPay directly to pay contractors in Romania?

No. The public material here does not support assuming direct access for every platform or every operating model. Verify your participant role and governing documents with your bank or provider first, because Romanian bank terms commonly tie the relationship to General Banking Conditions, annexes, forms, fee guides, and the regulations of the National Bank of Romania.

Is RoPay a fit for cross-border contractor payouts or mainly domestic Romanian leu (RON) flows?

The available public excerpts here do not confirm cross-border contractor payout suitability. Scope to documented domestic RON flows unless your provider documentation and legal review confirm a broader setup.

What is the National Bank of Romania role you should plan for as an operator?

ING’s General Terms and Conditions explicitly state that the National Bank of Romania acts as a supervisory authority. For you, that means planning for a regulated bank or provider relationship, not just API connectivity. A practical checkpoint is change control: ING says GTC changes are generally communicated 2 (two) months in advance, except where law sets a different rule, so do not treat partner terms as static.

Which documents should you collect before first payout approval under the Romanian Fiscal Code and Romanian Labor Code?

Do not use a borrowed checklist and assume it is enough. Collect the exact documents, statements, and information your bank or provider requires, and confirm that requirement set before first payout. Missing items are not just an admin delay: ING states a relationship may be refused, or opened in restricted mode, while additional checks are performed.

How should you handle payout retries so they are replay-safe instead of duplicate payments?

The available excerpts do not establish specific replay-safe retry mechanics or duplicate-prevention standards for RoPay contractor payouts. Define your retry and duplicate-payment controls with your provider before go-live, and treat unresolved behavior as a launch blocker.

What should you do when exact BNR FX constraints are still unclear from available public excerpts?

Treat that uncertainty as a launch boundary, not a detail to clean up later. The available excerpts do not establish exact BNR FX thresholds, approval steps, or timelines, so keep scope to what your provider and legal documentation clearly support. Get written confirmation from counsel and your provider before enabling any conversion-dependent path. Keep those open points in an unresolved-items log with an owner and decision date so the risk stays visible.

Yuki Matsumoto
Cross-Border Banking & FX Specialist

Yuki writes about banking setups, FX strategy, and payment rails for global freelancers—reducing fees while keeping compliance and cashflow predictable.

Expertise
bankingFXWisemulti-currencypayments

Sources

Includes 8 external sources outside the trusted-domain allowlist.

  1. arb.ro/wp-content/uploads/Set-de-Reguli-privind-Sch...external
  2. bancatransilvania.ro/files/app/media/Investor-Relations/General-S...external
  3. bancatransilvania.ro/files/app/media/Investor-Relations/General-S...external
  4. bnr.ro/uploads/editor/686167639.pdfexternal
  5. brd.ro/_files/pdf/CGB-PF-EN.pdfexternal
  6. bvb.ro/infocont/infocont26/BCR26_20260330194455_Con...external
  7. ing.ro/dam/jcr:2d600c43-031c-47f2-9a46-47dd9a7e66fc...external
  8. legislatie.just.ro/Public/DetaliiDocumentAfis/219736external

Educational content only. Not legal, tax, or financial advice.

Related Posts

Paying Contractors in Sri Lanka with CBSL and LankaPay Decision Checks
How-To Guides22 min read

Paying Contractors in Sri Lanka with CBSL and LankaPay Decision Checks

Start with regulatory certainty. For a platform operator, Sri Lanka should not be screened from a payout product page or a rail feature list first. The evidence set shows real institutional signals, but it still does not prove that your exact contractor payout flow is permitted, eligible, and operationally supportable.

sri lankalanka lankapay cbsl fxlankapay cbsl fx rules
Read
Paying Contractors in Morocco with CIH, CMI, and Bank Al-Maghrib FX Constraints
How-To Guides28 min read

Paying Contractors in Morocco with CIH, CMI, and Bank Al-Maghrib FX Constraints

Treat Morocco as an operational validation decision, not just a commercial opportunity. The real question is whether you can verify, with current primary evidence, that your contractor payout path works through the institutions you plan to use.

bank al-maghribcih bank cmi bankcontractors morocco cih bank
Read
Pay Contractors in Ethiopia with Telebirr and NBE FX Checks
How-To Guides24 min read

Pay Contractors in Ethiopia with Telebirr and NBE FX Checks

This brief is for platform founders and operators who need a go/no-go answer on Ethiopia before they spend engineering, compliance, or go-to-market budget. The real question is not whether contractors exist in Ethiopia or whether digital payments exist. It is whether your exact payout model looks feasible enough, based on actual evidence, to justify real work now.

pay contractorsnbe fxcontractors ethiopia telebirr nbe
Read