An accountant posts an invoice to a cost center, a warehouse clerk issues goods to an order, or a planner runs a settlement, and SAP rejects the posting with message KC101. The accounts exist, the cost object is valid and the amounts are correct, yet the system says it cannot assign a controlling document number. The reason is a missing number range, a small piece of configuration that every CO document needs. This guide explains what KC101 means, what the business transaction COIN is, how to create and assign the number range in transaction KANK, and how to avoid the mistakes that make the error come back. If you run into any errors while following along, feel free to send a screenshot to pramod@learntosap.com for help.
| Item | Value in This Example |
|---|---|
| Message number | KC101 |
| Message text | CO-doc. number assignment not possible for bus.trans. COIN in CO area 1213 |
| Business transaction | COIN |
| Controlling area | 1213 |
| Module | SAP CO (Controlling), with FI and MM postings |
| Where to fix it | KANK, number ranges for CO documents |
| Message type | Error: the posting cannot be saved |
The message tells you that SAP is unable to assign a controlling document number to the business transaction COIN in the controlling area 1213. The wording can differ slightly between releases and languages, but the code KC101 and the idea stay the same. If your message shows another business transaction or controlling area, the same steps apply with your own values.
Every posting that touches Controlling creates a CO document. The document records which cost object received which cost, in which period, and by which business transaction. Like all SAP documents it needs a unique number. SAP takes that number from a number range, which is simply a stretch of consecutive numbers reserved for a certain kind of document.
KC101 appears when SAP wants to take the next number but cannot, because no number range has been assigned to the business transaction in the controlling area. The system has no number to give, so it refuses to save the posting. This protects you, since a CO document without a proper number could not be traced or reconciled.
It is important to see that the problem is neither the posting nor the master data. The cost center can be perfect, the amounts correct and the user fully authorized. The missing element is a configuration entry, and that is why the fix is also made in Customizing and not in the document that failed.
In SAP Controlling, a business transaction is the kind of operation that created a CO document. Examples include posting costs from other components, reposting costs from one cost center to another, allocating costs by an assessment, or settling an order. Each business transaction has a four-character code, and the code tells SAP which rules to apply, including which number range to use.
COIN is commonly used for integrated postings that arrive in Controlling from other components of SAP, for example a goods issue to a cost center or an invoice posted with cost center account assignment. Because these postings are very frequent in daily work, a missing number range for COIN is noticed almost at once. Check the exact meaning of the code in your own release and system, since business transactions can differ slightly in description.
| Term | Meaning | Relevance to KC101 |
|---|---|---|
| CO document | The record of a posting in Controlling | This is what needs a number |
| Business transaction | The kind of posting, such as COIN | Decides which range is used |
| Number range | A stretch of numbers reserved for documents | Missing or unassigned in this error |
| Controlling area | Top-level unit of internal accounting | The range is assigned per area, here 1213 |
CO documents use a number range object, commonly called RK_BELEG. Inside this object you create intervals, and each interval has a from-number and a to-number. You then group business transactions and assign the groups to intervals. This two-step design lets several business transactions share one interval, or lets important ones have their own.
| Element | What It Does | Example |
|---|---|---|
| Interval | Defines the stretch of numbers | 100000001 to 200000000 |
| Group | Collects business transactions that share an interval | A group containing COIN |
| Element assignment | Connects a business transaction to a group | COIN in controlling area 1213 |
| Number status | Shows the last number used | Starts at zero for a new interval |
For CO documents the numbers are normally assigned internally by the system, which means SAP increments them automatically. External assignment, where a user supplies the number, is unusual for CO documents and best left alone unless your project has a clear reason.
Because a number range belongs to a controlling area, a company with several controlling areas needs the setup for each one. A range that works in one area gives no help in another, which is why KC101 can appear in 1213 while everything runs smoothly in a different area.
| Activity | Typical Transaction | What Happens |
|---|---|---|
| Posting a vendor invoice to a cost center | MIRO, FB60 | The invoice cannot be saved |
| Goods issue to a cost center or order | MIGO | The goods movement is rejected |
| General ledger posting to a cost object | FB50, FB01 | The document cannot be posted |
| Reposting costs | KB11N | The repost is blocked |
| Order settlement | KO88 | The settlement run reports errors |
The error can appear in many transactions because the CO document is created in the background whenever a posting touches a cost object. When several users report the same message at once, the cause is nearly always this configuration gap.
Read the message. Note the business transaction, here COIN, and the controlling area, here 1213. Check the transaction in which the error appeared.
Check the controlling area of the company code or plant involved. A posting for a company code assigned to area 1213 needs the setup in 1213, not in another area.
Open KANK in display mode and select controlling area 1213. Look at the existing intervals and the group assignments.
Decide which case applies. No interval at all means you must create one. An interval without COIN assigned means you only need the assignment. A full interval means you need a new, larger one.
Follow these steps to create the missing range and assign it.
Run transaction KANK (Check and Maintain Number Ranges for CO Documents). You can also follow the IMG path SPRO → Controlling → General Controlling → Organization → Maintain Number Ranges for Controlling Documents.
Select the controlling area 1213. Make sure you are in the right area before you change anything.
Check whether a number range exists for COIN. Look through the intervals and groups to see if one already covers it.
If it is missing, create and assign a new number range. In the example the interval is 100000001 to 200000000. Create a new interval if you need one, give it a number, enter the from- and to-numbers, and leave external assignment off.
Click on Group and choose Assign element group. Select the element for 1213 COIN, and assign it to the proper group and interval.
Check that the right element is assigned to the right group. The assignment is what connects COIN to the interval, so double-check it before saving.
Save your entries.
CO documents are stored in tables such as COBK for the header and COEP for the line items. If you have the right authorization, you can use a table display to confirm that the new numbers appear there.
Once the test passes, tell the users who reported the error that they can post again, and ask them to retry the documents that failed. Postings that were rejected are not saved, so nothing is lost, but the users must enter them again. In a collective process, such as a settlement run, repeat the run after the fix so that the rejected items are processed. Keep a short note of the time of the fix, in case reconciliation questions arise later.
The example interval runs from 100000001 to 200000000, which gives room for 100 million documents. That is generous, and it is wise to be generous, because a full interval stops postings just as completely as a missing one.
| Item | Value |
|---|---|
| Interval | 100000001 to 200000000 |
| Numbers available | 100,000,000 |
| Assumed CO documents per day | 50,000 |
| Days until the interval is used up | 2,000 |
| Approximate years | About 5.5 years |
The numbers are only an illustration, but they show how to think. Estimate the daily volume, multiply by the days you want the interval to last, and add a safety margin. For a large company with heavy integration postings, even this interval could be used faster than expected, so check the volume with your controlling and finance teams.
Also plan for the future. Leave gaps in the numbering plan so that other intervals can be added later without overlap. A simple rule is to keep each business transaction group in its own block of numbers, which also makes it easy to recognize the type of a document from its number.
This is an illustrative example based on a typical support case. A manufacturing company in Pune refreshed its quality system with a client copy so that testers could use recent master data. On the first morning, several testers reported that goods issues and invoices to cost centers failed with KC101 for controlling area 1213.
The SAP CO consultant opened KANK and found that the intervals for CO documents were missing in the refreshed client, because number range intervals are client-dependent and were not part of the copy. She created an interval from 100000001 to 200000000, assigned COIN in area 1213 to the right group, saved, and asked a tester to repeat a posting. It worked at once.
To avoid the same delay after the next refresh, the team added "check CO number ranges in KANK" to the post-copy checklist, together with other client-dependent settings such as FI number ranges and user parameters. The tests went on that same afternoon.
Number range intervals behave differently from most Customizing. They are client-specific, and the intervals themselves are often not carried by the usual Customizing transport. The result is that a range created in development does not automatically exist in quality or production.
| Situation | Recommended Action |
|---|---|
| You work in a sandbox | Create the interval and assignment directly and test. |
| Project landscape with DEV, QA and PROD | Maintain the interval in each system, or use the transport function offered by the number range tool, following your company rules. |
| Production shows the error but QA works | Compare KANK in both systems. The interval is probably missing in production. |
| KANK is display-only in production | Raise a change request. Do not look for a workaround. |
Use the same interval numbers in every system wherever possible. This keeps documents comparable, and avoids confusion when data is copied back for testing.
Check that COIN in area 1213 is assigned to the group that holds your new interval. Then start a new session and repeat the posting.
Other transactions need their own assignment. Open the list of elements in KANK and make sure each business transaction used in your company is assigned.
The interval was probably created in quality only. Maintain it in production according to your change process.
Each area needs its own setup. Repeat the steps for that area.
Choose numbers outside the existing intervals. Look at all intervals in the object before you decide.
Create a new, larger interval for the group and move the assignment to it. Existing documents keep their numbers.
Many users confuse the two kinds of number, and the confusion slows down support. An accounting document in Financial Accounting has its own number, taken from the FI number range that you maintain in a different place. A CO document has a separate number, taken from the CO range that you maintain in KANK. One posting can create both, and each has its own range.
| Point | FI Document | CO Document |
|---|---|---|
| Purpose | Records the posting in the general ledger | Records the posting on cost objects |
| Number range maintained in | FI number range maintenance | KANK |
| Depends on | Company code and document type | Controlling area and business transaction |
| Typical error | Number range does not exist for the company code | KC101 for a business transaction |
This is why a posting can fail with a CO message even though the FI number ranges are perfect. When you see KC101, do not look at the FI configuration. Look at the controlling area and its CO document ranges.
A small number of groups is easier to understand and support than many. Start with one generous interval for the main business transactions, and add more only when there is a reason, such as a request from auditors for separate ranges.
Estimate the daily volume of CO documents, including the high volume from integrated postings, and size the interval for several years. Leave unused blocks of numbers between intervals so that a new one can be added later without overlap.
Use the same intervals in development, quality and production wherever the rules of your company allow it. Aligned systems make testing more realistic and make support much easier, because a document number means the same thing everywhere.
Check the number status of each interval once a quarter. If an interval is more than half used, plan its extension. A short reminder in the calendar of the controlling team costs nothing and prevents an outage.
Tell finance, controlling and support when a new interval or assignment is created. Include the controlling area, the business transactions affected and the date. A short note saves time when someone asks about it later.
Number ranges are sensitive configuration. A wrong interval can create duplicate or missing numbers, and the effect lasts for years. For this reason, access to KANK is normally limited to consultants and a few key users. If you cannot change it, send the support team the message, the business transaction, the controlling area, the transaction where it appeared, and your proposed fix: "create an interval and assign COIN in controlling area 1213 in KANK". Precise requests are handled faster than screenshots alone.
In SAP S/4HANA, Finance and Controlling are closely integrated. Postings that involve cost objects are recorded in the universal journal, and some of the old CO document logic has changed. Number ranges still matter, however, and messages about document number assignment can still appear if a range is missing. On-premise releases usually keep the familiar number range maintenance, although the number range objects and transaction names may differ slightly by release. In cloud editions, configuration is done through guided activities. Confirm the exact activity in your own system. The principle does not change: if SAP cannot assign a number, find the range that governs the document and fix it there.
| Transaction | Purpose |
|---|---|
| KANK | Maintain number ranges for CO documents. |
| SNRO | General number range object maintenance. |
| OKKP | Maintain controlling area settings. |
| KSB1 | Display actual line items for cost centers. |
| KOB1 | Display actual line items for orders. |
| KB11N | Repost costs between cost objects. |
Q: What does KC101 mean?
SAP cannot assign a CO document number to the business transaction in the controlling area.
Q: Which transaction fixes it?
KANK, where you maintain number ranges for CO documents.
Q: Is it a master data problem?
No, it is a configuration problem. The posting and the master data may be fine.
Q: Why is it often seen after a client copy?
Number range intervals are client-specific and may not be copied.
Q: What must you avoid when creating an interval?
Overlap with other intervals, and an interval that is too small.
Q: What is the role of the group assignment?
It connects a business transaction, such as COIN, to the interval that supplies its numbers.
KC101 looks alarming, but it simply means that a CO document cannot get a number. Note the business transaction and the controlling area, open KANK, select the area, check for an interval, create one if it is missing, for example 100000001 to 200000000, assign COIN to the right group and save. Then test with a real posting. Make KANK part of your checklists for new controlling areas and client copies, and watch the usage of each interval, so that the error does not return. If something still blocks you, send the details to pramod@learntosap.com and we will help you find the next step.